6
votes

Message Django lors de la déconnexion

Une fois qu'un utilisateur s'est déconnecté du site, il doit rediriger vers la page d'accueil et pour afficher le message car "u sont déconnectés avec succès" en haut de la page. N'importe qui m'aidez à afficher un message dans la page d'accueil?


1 commentaires

Essayez de changer de Paramètres.Message_storage sur 'django.contrib.messages.storage.cookie.cookiestorage' , cela aide-t-il?


5 Réponses :


2
votes

2 commentaires

J'ai essayé les messages de code.add_message (demande, messages.info, 'Hello World.') Après avoir enregistré la sauvegarde. Mais le message n'affiche pas


Vous devrez ajouter du code pour afficher le message dans votre modèle. Lisez les docs dans le lien que j'ai posté.



3
votes

Essayez d'utiliser des sessions. Peut être plus simple.

Dans la vue de la déconnexion, définissez une entrée dans la variable de session, comme Session ['just_logged_out'] = true et dans la vue de la page d'accueil, vérifiez la variable. < / p> xxx

dans le gabarit, vous pouvez utiliser xxx


0 commentaires

12
votes

Vous pouvez utiliser le signal user_logged_out combiné avec le cadre de messages:

Premièrement, assurez-vous que le cadre de messages est configuré ( https://docs.djangoproject.com/fr/dev/ref/contrib/messages/ ).

puis inclure ce code quelque part que sera appelé (j'ai tendance à le mettre dans un module reçus.py, puis importer à partir d'un fichier modèles.py dans une application installée): xxx


1 commentaires

Ne fonctionne pas pour moi avec Django 2.2.10. Le message est ajouté à l'utilisateur qui vient de déconnecter, de sorte qu'il ne figurera pas sur la page de logout_redirect anonyme.



7
votes

Essayez de:

url(r'^logout/$', YourCustomLogoutView.as_view(), {'next_page': settings.LOGOUT_REDIRECT_URL}, name='logout'),


1 commentaires

J'ai lu la source et suis arrivé à la même solution. Mais le nom de la méthode get_next_page fait maintenant plus que ce que signifie le nom implique. J'aimerais que nous puissions remplacer une autre méthode au lieu de get_next_page .



0
votes

Voici une version simplifiée de la réponse de @andilabs: xxx

et dans vos urls.py: xxx


0 commentaires