Python 自定义用户表单,而不是内置的+;自定义必填字段
我正在用django构建一个登录/注销用户系统,然后开始使用django身份验证系统 我正在使用自定义Django UserCreationForm,如下所示: views.py 但是这个表单呈现了很多不需要的东西,如下所示: 首先,我想去掉添加的信息,有没有好的方法?有什么好方法可以做到这一点吗?有没有办法自己编辑UserCreationForm,或者我必须创建自己的表单Python 自定义用户表单,而不是内置的+;自定义必填字段,python,django,django-authentication,Python,Django,Django Authentication,我正在用django构建一个登录/注销用户系统,然后开始使用django身份验证系统 我正在使用自定义Django UserCreationForm,如下所示: views.py 但是这个表单呈现了很多不需要的东西,如下所示: 首先,我想去掉添加的信息,有没有好的方法?有什么好方法可以做到这一点吗?有没有办法自己编辑UserCreationForm,或者我必须创建自己的表单 其次,假设我想向注册页面添加更多必填字段,那么最好的方法是什么?假设我想让一个人注册男性或女性-我意识到我应该扩展用户模型
其次,假设我想向注册页面添加更多必填字段,那么最好的方法是什么?假设我想让一个人注册男性或女性-我意识到我应该扩展用户模型,但我如何同时注册到原始用户模型和扩展用户模型?与其扩展UserCreationForm类,不如重写它。检查它的来源 例如,如果要删除密码字段旁边的文字“输入与上面相同的密码”,请删除此行:
help_text=_("Enter the same password as above, for verification."))
来自django/django/contrib/auth/forms.py(在上面的链接中)
编辑:我建议您重写表单类而不是扩展它们的原因是因为这样更方便。从Django文档: 如果您不想使用内置视图,而是想要方便 不必为此功能编写表单 身份验证系统提供了位于 django.contrib.auth.forms 如果要扩展用户模型类,则需要相应地更改表单类。再次从文档中: 正如您所料,内置的Django表单和视图可以确保 关于他们正在使用的用户模型的假设。如果你的 用户模型不遵循相同的假设,可能需要 定义替换表单,并将该表单作为 验证视图的配置 有关详细信息,请参阅和 如果您只是想更改UserCreationForm您可以像我前面提到的那样在forms.py模块中编辑UserCreationForm类
如您在问题中所述,如果您想向注册页面添加更多必填字段,则需要创建自定义用户模型。有关如何执行此操作的详细信息,请参见能否详细说明如何执行此操作?我是否插入源代码并在自己的forms.py文件中进行更改?如果你不想解释,你能告诉我一个好的开始,而不是源文件本身吗。还有,我为什么要这样做,而不仅仅是扩展模型类?这些好处是什么?@ApathyBear更新了我的答案,提供了更多细节。如果这已经回答了您的问题,请随意选择它作为答案。感谢fr1tz的回答,非常有用。:)
help_text=_("Enter the same password as above, for verification."))