擅长:python、mysql、java
<p>我认为的问题是,您通过声明同名的函数来重写django <code>login</code>函数,当该语句执行<code>login(request, user)</code>时,该函数将变为递归函数。在</p>
<p>由于您的函数只接受一个参数,所以<code>login(request, user)</code>此语句会导致<code>login() takes one argument and got two</code>的异常。在</p>
<p>将您的函数名更改为其他名称,例如my\u login(request)</p>
<p>希望这有帮助。
谢谢</p>
<p><strong>已编辑</strong></p>
<p>你的功能应该是这样的。在</p>
<pre><code>def my_login(request):
if request.method=='POST':
username = request.POST['username']
password =request.POST['password']
user = authenticate(username=username, password=password)
if user is not None:
if user.is_active:
login(request, user)
return render_to_response('profile.html')
else:
print "Your account has been disabled!"#come back to me
else:
sentence = "Your username and password were incorrect."# come back to me
return render_to_response('login.html', {'sentence':sentence})
else:
return render_to_response('login.html')#come back to me
</code></pre>