gpt4 book ai didi

django - 管理 UserCreationForm 属性和字段

转载 作者:行者123 更新时间:2023-12-03 01:16:43 26 4
gpt4 key购买 nike

我是 Django 新手,即使在彻底尝试找到这个问题的答案之后,我也找不到任何答案。 =/

我正在使用 UserCretionForm 创建我的用户,我想知道一些事情:

1 - 我如何管理此表单的属性? (例如,我不想显示“必需。30 个字符...”或“输入与上面相同的密码,以进行验证。”之类的提示。)

2 - 我想让它显示其他自定义字段。我该怎么做? (请尽量弄清楚我必须在哪里编写您将向我展示的代码,因为我不是专家=D)。 (例如,在巴西,我们需要存储一些国家信息。这就是我需要这些字段的原因。)

提前致谢! (是)

最佳答案

更改默认验证器消息

您可以通过 error_messages 更改默认验证器的错误消息表单字段的参数。

要了解每个字段存在哪些验证器,请在此处检查:https://docs.djangoproject.com/en/dev/ref/forms/fields/#built-in-field-classes

class MyForm(UserCreationForm):
def __init__(self, *args, **kwargs):
super(MyForm, self).__init__(*args, **kwargs)
self.fields['username'].error_messages = {'invalid': 'foobar'}
self.fields['password1'].error_messages = {'required': 'required, man'}

向现有表单添加新字段

如果你想添加新字段,你可以通过子类化(这只是Python)来添加它们。

如果您子类化 UserCreationForm并向其中添加一个字段,您最终会得到一个新的表单类,其中仅包含原始字段和新字段。

class MyForm(UserCreationForm):
extra_field = forms.CharField()

覆盖管理表单

如果您尝试覆盖 UserCreationForm管理站点默认使用的,您必须注册一个新的 ModelAdmin对于User现代。

from django.contrib import admin
from django.contrib.auth.admin import UserAdmin
from django.contrib.auth.models import User

from foo import MyNewUserCreationForm

class NewUserAdmin(UserAdmin):
add_form = MyNewUserCreationForm

admin.site.unregister(User)
admin.site.register(User, NewUserAdmin)

关于django - 管理 UserCreationForm 属性和字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8622283/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com