2017-08-11 103 views
0

在urls.py我有以下注销链接无法使用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... 

] 

我有一个包含每个页面上base.html文件:

<!doctype html> 

    <head> 

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

    </head> 

    <body> 

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

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

的profile.html页:

{% 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 %} 

的logout.html页:

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

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

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

问题是如果用户在/配置文件并单击页面顶部的注销链接,它将用户发送到不存在的/ profile/logout,我如何获取它以将用户发送到/登出 ?

回答

1

而不是使用:

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

你应该使用

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

+0

谢谢!多简单的解决方案 –