Django 用户总是无,不是';不允许用户登录

Django 用户总是无,不是';不允许用户登录,django,django-authentication,Django,Django Authentication,在创建登录和注册表单时,我一直对注册表单有问题,问题是每当我通过注册创建用户并尝试与测试用户一起登录时,它不会登录,总是指向我设置的Httpresponse。检查管理面板后,用户正在创建,现在我不知道去哪里,我确实认为我没有抓住正确的数据或它没有抓住它 ##登记册 def寄存器(请求): 如果request.method==“GET”: 返回呈现(请求'auth/register.html',{}) 如果request.method==“POST”: 表单=注册表单(request.POST)

在创建登录和注册表单时,我一直对注册表单有问题,问题是每当我通过注册创建用户并尝试与测试用户一起登录时,它不会登录,总是指向我设置的Httpresponse。检查管理面板后,用户正在创建,现在我不知道去哪里,我确实认为我没有抓住正确的数据或它没有抓住它


##登记册
def寄存器(请求):
如果request.method==“GET”:
返回呈现(请求'auth/register.html',{})
如果request.method==“POST”:
表单=注册表单(request.POST)
如果form.is_有效():
username=form.cleaned_数据['username']
password=表单。已清除的_数据['password']
passwordConf=form.cleaned_数据['passwordConf']
email=表单。已清理的_数据['email']
first\u name=表单.已清理的\u数据['first\u name']
last_name=表单。已清理的_数据['last_name']
user=user.objects.create\u用户(用户名、密码、电子邮件)
如果password==passwordConf:
返回HttpResponseRedirect(“/auth/signin”)
其他:
返回HttpResponse(“密码不匹配”,状态=400)
其他:
返回HttpResponse(“注册请求无效。(请求错误)”,状态=400)
其他:
表格=注册表格
返回HttpResponse(“在/auth/register上不允许使用方法(不允许使用方法)”,状态=405)
##签名
def签名(请求):
如果request.method==“GET”:
返回呈现(请求'auth/signin.html',{})
如果request.method==“POST”:
表单=SignInfo(request.POST)
如果form.is_有效():
用户名=请求。发布[“用户名”]
密码=请求。POST[“密码”]
用户=验证(请求,用户名=用户名,密码=密码)
如果用户不是无:
登录(请求、用户)
返回HttpResponseRedirect(“/”)
其他:
返回HttpResponse('无效凭证',状态=401)
其他:
返回HttpResponse(“表单无效”,状态=401)

可能是您的用户处于非活动状态,即
处于活动状态
False
。你要么需要

AUTHENTICATION_BACKENDS = ['django.contrib.auth.backends.AllowAllUsersModelBackend']
在您的设置或设置中,
处于活动状态
True


文档:首先检查
是否处于活动状态
,这就是原因。

您的
创建用户
发送的参数顺序与预期不同。根据,它有签名
create\u user(用户名,email=None,password=None,**额外字段)

目前,通过使用
user=user.objects.create_user(用户名、密码、电子邮件)
,您正在设置
user.email=password
user.password=email

您需要使用:

user = User.objects.create_user(username, email, password)


它将响应哪一个HttpResponse?我在signin View中看到两个响应它总是点击无效的Credientialsy打印
username
password
字段,它们是否返回您输入的正确值?是的,它们打印正确的值,我开始想,在创建用户时可能出现了问题。可能是这样,请尝试在django admin中创建一个新用户,并使用该凭据来测试这一点,
user.objects.create\u user
是否已默认将
是否处于活动状态
设置为True?