2015-12-15 147 views
1

Im使用Django功能登出,它不顯示我的模板。這裏的代碼:Django註銷()不顯示模板

Views.py

class Logout(View): 
    #import pdb; pdb.set_trace() 
    template_name = ['cost_control_app/logout.html'] 

    def get(self, request, *args, **kwargs): 
     return render(request, self.template_name) 

    def logout_view(request): 
     logout(request) 
     print ("ya") 
     return render(request, self.template_name) 

Urls.py

urlpatterns = patterns(
    '', 
    url(r'^logout/$', views.Logout.as_view(), name = "logout"), 
) 

而且模板:

logout.html

{% extends 'base_cost_control.html' %} 
{% block contentsubbase %} 

<head> 
<body> 
    <div> 
     <h2> Logged out succefully </h2> 
     <br> 
     <a href="{% url 'cost_control_app:login' %}">Iniciar sesión</a> 
    </div> 
</body> 
</head> 

{% endblock contentsubbase %} 
在我的主網頁IM

使用A HREF層到A點網址:

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

,但它不工作,只重定向我到一個完整的空叫做頁面退出,如果我回去我的瀏覽器IM仍然登錄。

+0

'template_name'不應該是一個清單,你也不需要'高清logout_view(請求):'塊有 – Geotob

+0

MMM不起作用既不= =( – jsanchezs

+0

在你的模板中,我看到你在' ..''附上'body'塊。 「身體」必須在「頭部」之外。在你的'base_cost_control.html'中,你定義了一個名爲'contentubbase'的塊嗎?最後,沒有任何邏輯可以實際記錄用戶,它只是在此階段的模板 – Geotob

回答

1
  1. 定義TEMPLATE_NAME作爲字符串

    TEMPLATE_NAME = 「cost_control_app/logout.html」

  2. 您的模板應該是發生在你的項目app_folder/templates/app_name

  3. 您還可以在settings.py定義TEMPLATE_DIRS如下

    TEMPLATE_DIRS =( os.path.join(BASE_DIR, '模板'), )

現在在項目中創建一個名爲templates一個文件夾,並把你的模板上的每個應用程序的文件夾中對應app_name

第三步是沒有必要的,只是一個備用

+0

感謝您的回答,但這不是問題,我已經做到了,所有其他模板工作得很好....做一個跟蹤我發現功能 def logout_view(request): 它沒有返回.. ..我究竟做錯了什麼 ?? – jsanchezs

+0

感謝您的考慮 – Serjik