2013-09-29 25 views
1

好吧,基本上我的主頁('^ $')是一個登錄頁面,在用戶登錄後,它會將他發送到另一個註銷按鈕的頁面。在我的模板中,註銷按鈕只是一個鏈接。django如何從模板內重定向到主頁

<a href="">Logout</a> 

在href裏面應該說些什麼?通常情況下,如果我想重定向到不同的視圖,我會將視圖名稱放在引號內,但主頁視圖只是'^ $',所以我試圖在沒有工作的引用內留空。我也試過

<a href="/^$">Logout</a> 

失敗了。任何想法如何做到這一點?

回答

5
<a href="">Logout</a> 

將指向當前頁(基本上是一個頁面重新加載)

嘗試:

<a href="/">Logout</a> 

如果localhost:8000/是你努力的目標

推薦的方式網址是:

<a href="{% url myapp.views.home_page %}">Logout</a> 

其中myapphome_page分別指應用程序名稱和視圖名稱。

另外,You can Name a URL Pattern:現在

url(r"^$", 'my_view', name="homepage") 

,你會做

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

如果>的Django 1.5,

<a href="{% url 'homepage' %}">Logout</a> 
+0

啊,完美。我想我應該將所有鏈接都更改爲{%%}標籤。謝謝!因此,在我看來,如果我想重定向到另一個視圖,例如,「如果用戶不是None:auth.login(request,user)return redirect('/ loggedin_view /')」我可以做「return redirect ({%url myapp.views.loggedin_view%})「? – user2817200

+1

在視圖中,「{%%}」無法正常工作。你可以使用'redirect(reverse('myapp.views.loggedin_view'))' – karthikr

+0

hm等待,所以當我將它改爲「a href =」{%url myapp.views.home_page%}「時,它給了我一個錯誤, 「'url'需要一個非空的第一個參數。在Django 1.5中,語法發生了變化,請參閱dos。「我在猜測我應該在」myapp.views.home_page「中加引號?好吧,加上引號就行了。完美。 – user2817200