2012-07-25 124 views
2

單擊註銷後,頁面將指向/logout/addwine/index.html而不是/addwine/index.html。django URL註銷

有沒有辦法解決這個問題?

urlpatterns += patterns('', 
    url(r'^login/$', login, kwargs={'template_name':'addwine/login.html'}, name= 'addwine_login'), 
    url(r'^logout/$', logout, kwargs={'next_page':'addwine/index.html'}, name= 'addwine_logout'), 
) 

在此先感謝。

回答

0

您正在使用「相對路徑」,只是把一個「/」 URL之前,以表明你想要一個絕對路徑,像這樣:

kwargs={'next_page':'/addwine/index.html'} 
+0

好吧,它不工作..我試着'/addwine/index.html'和'/index.html',但它似乎沒有找到來自URL模式的匹配..但是,它的工作原理,如果我只是首先需要使用絕對路徑/網站 – 2012-07-25 03:47:54

+0

,將「/addwine/index.html」添加到您的網址格式中,否則django不知道如何處理該請求。在你的情況下,「/網站」的作品,因爲「/網站」是在你的網址模式。 – levi 2012-07-25 03:51:54

+0

我確實在url.py def index(request):return render_to_response('addwine/index.html')中有url(r'^ $','addwine.views.index',name ='addwine_index') .py – 2012-07-25 03:58:04

0

我有類似的問題。我所做的是,在模板中呈現註銷網址的地方:

<a href="{% url addwine_logout %}?next=/addwine/index.html">Logout</a> 

將下一個參數添加到其中。無論您喜歡哪種方式,您都可以通過從視圖或javascript傳遞來添加下一個參數。