我正在为用户创建基本登录功能。如果登录成功,我将用户重定向到我在HttpResponseRedirect中硬编码的索引页面。但是一旦我点击登录按钮就说了,
在/ Login /上的 TypeError login()需要1个位置参数,但是给出了2个 urls.py中的索引页面定义如下,
URL(R '^ $',views.index,名字= '索引'),
以下是我的索引视图和登录视图的代码:
def index(request):
return render(request,'authentication_app/index.html')
def login(request):
if request.method=='POST':
username=request.POST.get('name')
password=request.POST.get('password')
user = authenticate(username=username,password=password)
if user:
if user.is_active:
login(request,user)
return HttpResponseRedirect('/')
else:
return HttpResponse('Your Account has become Invalid')
else:
print('Someone tried to login with wrong credentials:{0},{1}'.format(username,password))
return HttpResponse('Username and Password mismatch.Please enter valid credentials')
else:
return render(request,'authentication_app/login.html',{})
答案 0 :(得分:1)
您需要将功能名称从login()
更改为user_login()
。
def user_login(request):
与此处使用的login(request,user)
冲突。
答案 1 :(得分:0)
您可以将导入的登录名更改为其他名称 像
from django.contrib.auth import login as auth_login
用户执行登录的auth_login