我正在使用Django 1.5和Python 3.2.3 .
我在模型中定义了've got a custom Auth setup, which uses an email address instead of a username. There' s no username . 这很好 . 然而,当我构建用户创建表单时,无论如何它都会添加用户名字段 . 所以我尝试确切地定义了我想要显示哪些字段,但它仍然在表单中强制使用用户名字段....即使它甚至不存在于自定义身份验证模型中 . 我怎么能让它停止这样做?
我的表格定义如下:
class UserCreateForm(UserCreationForm):
class Meta:
model = MyUsr
fields = ('email','fname','surname','password1','password2',
'activation_code','is_active')
在文档中,Custom Users and Builtin Forms说它"Must be re-written for any custom user model."并且我认为's what I'm在这里做 . 既不是这个,也不是UserCreationForm documentation对此有更多的说法 . 所以我不会错过.1760167_m . 我也没有通过谷歌找到任何东西 .
2 回答
您需要从sctratch创建表单,它不应该扩展UserCreationForm . UserCreationForm在其中明确定义了用户名字段以及其他一些字段 . 你可以看看here .
你的_1760169应该是这样的
您还需要一个用户更改表单,它不会覆盖密码字段:
在您的管理员中定义这些:
你还需要覆盖
list_display
,list_filter
,search_fields
,ordering
,filter_horizontal
,fieldsets
和add_fieldsets
(提及username
的django.contrib.auth.admin.UserAdmin
中的所有内容,我想我列出了所有内容) .