我设置了一条 django 消息,当用户登录时会显示该消息,但这些消息仅显示在管理员中。
帐户/views.py
def login_page(request):
form = LoginForm(request.POST or None)
context = {
'form':form
}
next_ = request.GET.get('next')
next_post = request.POST.get('next')
redirect_path = next_ or next_post or None
if form.is_valid():
username = form.cleaned_data.get("username")
password = form.cleaned_data.get("password")
user = authenticate(request, username=username,password=password)
if user is not None:
login(request, user)
try:
del request.session['guest_email_id']
except:
pass
if is_safe_url(redirect_path,request.get_host()):
return redirect(redirect_path)
else:
messages.info(request,"You are now logged in")
return redirect("/")
else:
messages.error(request,"Something went wrong")
print("Error")
return render(request,"accounts/login.html", context)
设置.py
MESSAGE_STORAGE = 'django.contrib.messages.storage.fallback.FallbackStorage'
'OPTIONS': {
'context_processors': [
...
'django.contrib.messages.context_processors.messages',
base.html
{% if message is not None %} {% for message in messages %}{{ message }}{% endfor %}{% else %}{% endif %}