我有一个LoginView和一个注册表单,这个注册表单工作正常,用户正在飞向数据库,但是LoginView在尝试登录时给出了一个不正确的登录名或密码,虽然所有的数据都是正确的,为什么会这样呢?
来自www.example.com的自定义用户 models.py
class CustomUser(AbstractUser):
objects = UserManager()
username = models.CharField(
unique=True,
max_length=150,
error_messages={
'unique': "Пользователь с таким ником уже есть"},)
email = models.EmailField(
'почта',
unique=True,
blank=False)
password = models.CharField(
'пароль',
max_length=128)
first_name = models.CharField(
'имя',
max_length=30,
blank=True)
second_name = models.CharField(
'фамилия',
max_length=30,
blank=True)
birthday = models.DateField(
'день рождения',
blank=True,
null=True)
USERNAME_FIELD = 'email'
REQUIRED_FIELDS = ['username']
class Meta:
verbose_name = 'user'
verbose_name_plural = 'users'
urls.py
path('login/', LoginView.as_view(
template_name='user/login.html'),
name='login'),
寄存器
def registrations(request):
form = RegistrationForm(request.POST or None)
if request.method == 'POST' and form.is_valid():
CustomUser.objects.create(**form.cleaned_data).save()
messages.success(request, 'Вы успешно зарегестрировались')
context = {
'form': form,
}
return render(request, 'user/reg.html', context)
要使LoginView正常工作,必须
1条答案
按热度按时间mcvgt66p1#
注册后是否检查密码是否正确散列?
如果您不使用
django.contrib.auth
中的表单,则需要手动创建和验证密码:请参阅