Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/fsharp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在django中检查登录用户的登录?_Django_Python 2.7 - Fatal编程技术网

如何在django中检查登录用户的登录?

如何在django中检查登录用户的登录?,django,python-2.7,Django,Python 2.7,我是django的新手,我正在尝试为用户创建注册和登录。我已经完成了注册页面,一些用户正在进行存储在我数据库中的注册。当我要登录时,它找不到那些已经注册的用户。你能帮我吗 我的观点.py def login_user(request): state = "Please log in below..." if request.POST: email = request.POST.get('email') password = request.POST

我是django的新手,我正在尝试为用户创建注册和登录。我已经完成了注册页面,一些用户正在进行存储在我数据库中的注册。当我要登录时,它找不到那些已经注册的用户。你能帮我吗

我的观点.py

def login_user(request):
    state = "Please log in below..."
    if request.POST:
        email = request.POST.get('email')
        password = request.POST.get('password')        
        user = authenticate(email=email, password=password)
        if user is not None:
            if  request.user.is_authenticated:
                login(request, user)
                state = "You're successfully logged in!"
            else:
                state = "Your account is not active, please contact the site admin."
        else:
            state = 'email: '+str(email)+' and password: '+str(password)+' is not found'

    return render_to_response('signup_test.html',{'state':state, 'email': email},context_instance=RequestContext(request))
该方法检查
用户名
密码

您应该修改此行:

user = authenticate(email=email, password=password)
将是:

user = authenticate(username=email, password=password)

不过,这是假设您已经设置了身份验证以接受电子邮件作为用户名。

默认情况下,django支持使用用户名登录,因此请尝试以下操作

user = authenticate(username=username, password=password)
if user is not None:
    if user.is_active:
        login(request, user)
        # Redirect to a success page.
    else:
        # Return a 'disabled account' error message
        ...
else:
遵循以下步骤:


首先检查数据库中的用户

记住使用插入加密密码以创建用户的
设置密码()。例如:

if form.is_valid():
    user = form.save(commit = False)
    user.set_password(form.cleaned_data['password'])
    user.save()

您只需将email字段设置为unique,那么它应该允许unique 仅限用户使用,否则将引发验证错误,如“用户使用” 此电子邮件已存在。”


请阅读。我已经放弃了您的指示,但现在它仍然不起作用。用户是否保存在您的数据库中?