Django检查查询字符串

时间:2017-05-24 20:22:37

标签: python django string url django-templates

当有人点击我网站的注销链接时,我希望将它们重定向到登录页面,但我想要弹出一条消息,说明他们已成功注销。但是,当有人正常访问登录页面时,我不希望发生此行为。

我决定传入一个查询字符串,所以当有人点击注销时,他们会被重定向到users/login/?logout。我怎么能在我的模板中检查这个?我想做点什么:

{% if ______ %}
*Message box appears*
{% endif %}

谢谢!

2 个答案:

答案 0 :(得分:1)

好吧,你可以简单地使用内置的Django消息传递功能!

这是一个简单的例子:

# views.py

from django.contrib import messages

def register(request):
  # Logic
  # ...

  messages.success(request, 'Registered successfully!')

  # ...
  # More logic

-

# example.html
{% if messages %}
  <ul class="messages">
    {% for message in messages %}
      <li class="{{ message.tags }}">
        {{ message|safe }}
          <a href="" class="close">X</a>
      </li>
    {% endfor %}
  </ul>
{% endif %}

Django官方文档网站上提供了更深入的文档:https://docs.djangoproject.com/en/1.11/ref/contrib/messages/

答案 1 :(得分:0)

参考this document,我相信您正在寻找的是

{% if not request.user.is_authenticated %}
    <p>You are logged out!</p>
{% endif %}