Django 注销时超过最大递归深度(请求)
我正在尝试在我的页面上创建注销功能。但是,每当我点击指向注销url的链接时,就会出现这个递归错误 下面是代码,如果用户已登录,则应该显示内容和注销功能。否则显示登录表单 查看方法Django 注销时超过最大递归深度(请求),django,Django,我正在尝试在我的页面上创建注销功能。但是,每当我点击指向注销url的链接时,就会出现这个递归错误 下面是代码,如果用户已登录,则应该显示内容和注销功能。否则显示登录表单 查看方法 def login(request): username = request.POST.get('username') password = request.POST.get('password') user = authenticate(username=username, password=p
def login(request):
username = request.POST.get('username')
password = request.POST.get('password')
user = authenticate(username=username, password=password)
context = {
}
if user is not None:
print('Correct user'
else:
print('Wrong user')
return render(request, 'index.html', context)
def logout(request):
print('logged out')
logout(request)
return redirect('index')
网址
index.html
{% if user %}
<h3>Hello {{user.username}}</h3>
<a href="{% url 'crowd:logout' %}">Logout</a>
{% else %}
<form action="{% url 'crowd:login' %}" method='post'>
{% csrf_token %}
<input class='logintext' type='text' placeholder='Username' name='username'>
<input class='logintext' type='password' placeholder='Password' name='password'><br>
<input class='loginbutton' type='submit' value='Login'>
<a class='loginforgotpassword' href="{% url 'crowd:register' %}"> Forgot password?</a>
<a class='loginregister' href="{% url 'crowd:register' %}"> Register</a>
</form>
{% endif%}
请更改您的注销视图的名称 错误在于:
def logout(request):
print('logged out')
logout(request)
return redirect('index')
您的视图名称已使用请求参数注销。因此,当您在视图中调用logoutrequest时,它会调用您的注销视图,而不是Django的注销函数。这会导致递归。请更改注销视图的名称 错误在于:
def logout(request):
print('logged out')
logout(request)
return redirect('index')
您的视图名称已使用请求参数注销。因此,当您在视图中调用logoutrequest时,它会调用您的注销视图,而不是Django的注销函数。这会导致递归。没问题。我们一生都在这里:没问题。我们一生都在这里:
def logout(request):
print('logged out')
logout(request)
return redirect('index')