2017-08-11 2 views
0

In urls.py ich habe folgendesLogout Link nicht funktioniert django

from django.conf.urls import url 
from django.contrib.auth.views import logout 
from core import views as core_views 

urlpatterns = [ 
    url(r'^logout/$', logout, {'template_name': 'core/logout.html'}, name='logout'), 
    url(r'^profile/$', core_views.view_profile, name = 'view_profile'), 

etc... 

] 

Ich habe eine base.html, die auf jeder Seite enthalten ist:

<!doctype html> 

    <head> 

     {% block head %} 
     <title>base</title> 
     {% endblock %} 

    </head> 

    <body> 

     <a href = 'core/logout.html'>Logout</a> 
     {% block body %} 

     {% endblock %} 
    </body> 
</html> 

Die profile.html Seite:

{% extends 'core/base.html' %} 

{% block head %} 
    <title> Profile</title> 
{% endblock %} 

{% block body %} 
    <h2>Profile</h2> 
    <p> 
    {{ user.first_name }}<br/> 
    {{ user.last_name }}<br/> 
    {{ user.email }}<br/> 
    {{ user.userprofile.city }} 
    </p> 

{% endblock %} 

Die logout.html Seite:

{% extends 'core/base.html' %} 

{% block head %} 
    <title>Logout</title> 
{% endblock %} 

{% block body %} 
<p>Logged out</p> 
{% endblock %} 

Das Problem ist, wenn der Benutzer bei/Profil ist und klickt den Abmelden Link am oberen Rand der Seite sendet er den Benutzer an/profile/logout die nicht existiert, wie bekomme ich es den Benutzer an/senden Ausloggen ?

Antwort

1

Statt mit:

<a href = 'core/logout.html'>Logout</a>

sollten Sie

<a href="{% url 'logout' %}">Logout</a>

+0

Danke verwenden! Was für eine einfache Lösung –