2016-07-30 65 views
1

我对Login()方法有问题,变量'user'如果包含用户但该方法失败。可以帮助检测到问题。django 1.8.13'用户'对象没有'用户'属性

from django.contrib.auth import authenticate, login 

def login(request): 
if request.user.is_authenticated(): 
    return render(request, 'Default.html') 

mensaje = '' 
if request.method == 'POST': 
    username = request.POST.get('username') 
    password = request.POST.get('password') 
    User = authenticate(username=username, password=password) 
    if User is not None: 
     if User.is_active: 
      login(User) 
      return render(request, 'Default.html') 
     else: 
      return render(request, 'accounts/login.html', {'mensaje':mensaje}) 
    else: 
return render(request, 'accounts/login.html', {'mensaje':mensaje}) 
+0

这样的文件中也未能发送的方法登录)两个参数( –

回答

1

您从django.contrib中输入登录.auth,但看看你的下一行代码。

from django.contrib.auth import authenticate, login 

def login(request): 
    if request.user.is_authenticated(): 
     return render(request, 'Default.html') 

是的,你是一个为自己的影子登录方法。解决办法是重新命名自己的功能可按

def my_login(request): 
    if request.user.is_authenticated(): 
     return render(request, 'Default.html') 
+0

确切地说,你是绝对正确的,这让我意识到这一点,非常感谢你 –

0

此外,根据文档,login()功能预计2个论点在传递 - 请求实例和用户模型实例:

login(request, User) 
+0

左右,但第一件事,我在此宣布失败 - “登录()需要1但是有两个被给出了“... –

相关问题