2017-10-20 12 views
0

J'ai ajouté un middleware à un utilisateur sortant de session avec ma logique. J'essaie de rediriger vers la page de connexion avec un message. J'utilise HttpResponseRedirect (reverse ('user_login')) pour rediriger vers ma page de connexion personnalisée. Alors, comment transmettre des valeurs à une page?Comment envoyer un message à HttpResponseRedirect dans Django

Répondre

0

Vous pouvez utiliser le framework de messagerie de django. https://docs.djangoproject.com/en/1.11/ref/contrib/messages/

Dans vos vues faire:

from django.contrib import messages 
messages.success(request, 'This is my message.') 

Et dans votre modèle de base garder ce morceau de code.

{% if messages %}<ul class="messages"> 
{% for message in messages %} 
<li{% if message.tags %} class="{{ message.tags }}"{% endif %}>{{ message }}</li> 
{% endfor %}</ul>{% endif %} 

Ou si vous ne souhaitez pas utiliser de messages, vous pouvez passer l'URL.

from django.core.urlresolvers import reverse 
return HttpResponseRedirect(reverse('user_login') + '?autologout=true') 

Et dans votre modèle

{% if request.GET.autologout %} 
<p>This is my message.</p> 
{% endif %} 
+0

@Rijo at-il aidé? –

+0

Je ne veux pas utiliser les 'messages'. –

+0

Alors qu'en est-il de passer un paramètre get dans l'URL et afficher le message que si le paramètre dans l'URL? –