我正在使用django的内置身份验证模块进行用户身份验证。
urls.py
url(r'^accounts/logout/', auth_views.logout, kwargs={'next_page': reverse_lazy('login')}),
url(r'^accounts/login/', auth_views.login, name='login', kwargs={'redirect_authenticated_user': True,"authentication_form":CustomAuthForm}),
注销后,用户将立即重定向到login
页。但是我需要在登录页面上向用户显示“ 已退出!”消息。
我怎么知道用户是否单击 注销 链接进入 登录 页面,或者他/她直接访问了 登录 (在这种情况下,我不会显示任何消息)。
答案 0 :(得分:0)
您可以在此处使用类似Django messages framework的声音-在logout.post
中,您需要添加一条消息messages.success(request, 'Successfully logged out.')
,该消息将由您的登录模板呈现。
答案 1 :(得分:0)
您可以从Django使用The messages framework,如下所示:
from django.contrib.messages import get_messages
def logout(request, ...):
# Logout the user
# Add a logout message
messages.add_message(request, messages.SUCCESS, "signed out!")
return HttpResponseRedirect(...)
def login(request, ...):
storage = get_messages(request)
for message in storage:
msg = message
break
return render(request, 'your_app/login.html', {'message': msg})
然后在您的login.html
模板中,检查消息是否不是“无”并显示它。
将此插入您希望显示消息的位置
{% if message %}
<div>
{{ message }}
</div>
{% endif %}