2012-07-25 3 views
2

Après avoir cliqué sur la déconnexion, la page renvoie vers /logout/addwine/index.html au lieu de /addwine/index.html.django Déconnexion URL

Existe-t-il un moyen de contourner ce problème?

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'), 
) 

Merci d'avance.

Répondre

0

Vous utilisez « chemin relatif », vient de mettre un «/» avant url, pour indiquer que vous voulez un chemin absolut, comme ceci:

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

bien, ça ne marche pas .. j'ai essayé '/addwine/index.html' et '/index.html', mais il ne semble pas trouver la correspondance du modèle d'URL .. Mais, cela fonctionne si je viens utilisez le chemin absolu/le site Web –

+0

, vous devez d'abord ajouter «/addwine/index.html» à votre modèle d'URL, sinon, django ne sait pas comment gérer cette requête. Dans votre cas "/ site web" fonctionne parce que "/ site web" est dans votre modèle d'URL. – levi

+0

J'ai url (r '^ $', 'addwine.views.index', nom = 'addwine_index'), dans url.py def index (requête): return render_to_response ('addwine/index.html') dans les vues .py –

0

j'ai eu le même problème. Ce que je l'ai fait est, vous rendant l'url déconnexions dans un modèle:

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

Ajouter le prochain param en elle. Vous pouvez ajouter le paramètre suivant en passant de la vue ou via javascript, de la manière que vous voulez.