2012-07-09 67 views
2

一旦用户退出该站点,它应该重定向到主页,并在页面顶部显示“U已成功注销”消息。任何人都可以帮助我在主页上显示信息?注销时的django消息

+0

尝试改变' settings.MESSAGE_STORAGE'设置为''django.contrib.messages.storage.cookie.CookieStorage'',这有帮助吗? – Tony 2012-07-09 11:27:10

+0

帮我1个例子 – Raji 2012-07-09 11:39:01

回答

1

尝试使用会话。可以更简单。

在注销视图中,在会话变量中设置一个条目,如session['just_logged_out'] = True,并在主页视图中检查变量。

try: 
    just_logged_out = request.session.get('just_logged_out',False) 
except: 
    just_logged_out = False 

在模板中,你可以使用

{% if just_logged_out %} You are successfully logged out {% endif %} 
+0

感谢U sid。它的工作很好 – Raji 2012-07-09 12:54:24

2
+0

我在后保存后尝试了代码messages.add_message(request,messages.INFO,'Hello world。')。但消息不显示 – Raji 2012-07-09 11:20:01

+0

您需要添加代码才能在模板中显示消息。阅读我发布的链接中的文档。 – 2012-07-09 11:22:14

6

你可以使用与信息框架结合user_logged_out信号:

首先,确保消息的框架设置(https://docs.djangoproject.com/en/dev/ref/contrib/messages/) 。

然后包括该代码的地方,将被称为(我倾向于把它放在receivers.py模块中,然后从一个models.py文件中导入在已安装的应用程序):

from django.contrib.auth.signals import user_logged_out 
from django.dispatch import receiver 
from django.contrib import messages 


@receiver(user_logged_out) 
def on_user_logged_out(sender, request, **kwargs): 
    messages.add_message(request, messages.INFO, 'Logged out.')