Ich versuche die Abmeldefunktion auf meiner Seite zu erstellen. Aber diesen Rekursionsfehler bekomme ich immer, wenn ich auf den Link klicke, der auf die Abmelde-URL zeigt.Maximale Rekursionstiefe beim Abmelden überschritten (Anfrage)
Unten ist der Code, für was Inhalte und eine Abmeldung Funktionalität angezeigt werden soll, wenn der Benutzer angemeldet ist. Ansonsten zeigen Sie das Login-Formular.
Ansicht Methoden
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')
URL
urlpatterns = [
url(r'^$', views.index, name='index'),
url(r'^login/$', views.login, name='login'),
url(r'^logout/$', views.logout, name='logout'),
]
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%}
Konsole Fehler:
File "C:\Users\Rasmus\workspace\Crowd\src\Cr\views.py", line 48, in logout
logout(request)
File "C:\Users\Rasmus\workspace\Crowd\src\Cr\views.py", line 48, in logout
logout(request)
File "C:\Users\Rasmus\workspace\Crowd\src\Cr\views.py", line 48, in logout
logout(request)
File "C:\Users\Rasmus\workspace\Crowd\src\Cr\views.py", line 47, in logout
print('logged out')
RecursionError: maximum recursion depth exceeded
[04/Sep/2016 23:35:59] "GET /Crowd/logout/ HTTP/1.1"436
Ah dummer Fehler. Vielen Dank! – vandelay
Kein Problem. Wir waren alle hier in unserem Leben :) –