【发布时间】:2021-05-07 15:43:20
【问题描述】:
我目前正在尝试使用 UserCreationForm 构建用户注册表单,但它不适合我的需要。首先,用户名字段不仅接受字母符号和数字,还接受 @ 。 + - _。我想让它只接受拉丁文和西里尔文字母和数字,但我找不到任何信息。我也想改变它的其他属性,比如最大长度。此外,在我们进行这些更改之后,客户端和服务器端的验证过程都会拒绝被禁止的符号吗?
这是我在 forms.py 中已有的一些代码:
class CreateUserForm(UserCreationForm):
class Meta:
model = User
fields = ['username', 'email', 'password1', 'password2']
和views.py:
def register(request):
form = CreateUserForm()
if request.method == 'POST':
form = CreateUserForm(request.POST)
if form.is_valid():
form.save()
context = {'form': form}
return render(request, 'register.html', context)
另外,这是默认的 UserCreationForm 相关的注册用户方式吗?还是自己写一个更好?
【问题讨论】:
-
您只想更改用户名验证吗??
-
我也想更改密码验证,如果我知道如何更改用户名验证,这将不是问题