【问题标题】:django not work alertdjango 不工作警报
【发布时间】:2018-03-02 07:47:06
【问题描述】:

django 2.0.2 macOS 10.13 蟒蛇3.6.4

我想对模板使用警报

django settings.py

MESSAGE_TAGS = {
messages.DEBUG: 'alert-info',
messages.INFO: 'alert-info',
messages.SUCCESS: 'alert-success',
messages.WARNING: 'alert-warning',
messages.ERROR: 'alert-danger',
}
 
views.py
def list(request)
    messages.error(request,'invalid user', extra_tags='alert')
    return redirect('/')

templates.html
 

我尝试了两种方法

模板1.html

 {% if messages %}
  <script>
  {% for message in messages %}
  alert({{message}})
  {% endfor %}
  </script>
  {% endif %}

template2.html

<div class="content container">
  {% if messages %}
  {% for message in messages %}
  <div class="alert {{ message.tags }} alert-dismissible" role="alert">
    <button type="button" class="close" data-dismiss="alert" aria-label="Close">
      <span aria-hidden="true">&times;</span>
    </button>
    {{ message }}
  </div>
  {% endfor %}
  {% endif %}
    <div class="row">
        <div class="col-md-8">

template2.html 结果如下:

<div class="alert alert alert-danger alert-dismissible" role="alert">
        <button type="button" class="close" data-dismiss="alert" aria-label="Close">
          <span aria-hidden="true">×</span>
        </button>
        invalid user
      </div>

这张图片的html代码 这个 html 是有效的??

我不能在 django 中使用 alert..

【问题讨论】:

  • 截图对我们没用。而是发布相关的渲染 html 输出。在您的网络浏览器中使用“查看源代码”来获取纯 html。

标签: javascript django


【解决方案1】:

模板代码看起来有效。您的问题可能是您的视图函数中没有成功添加任何消息。

文档中解释了消息的用法。 https://docs.djangoproject.com/en/2.0/ref/contrib/messages/#using-messages-in-views-and-templates

messages.ERROR 不是函数,它只是常量数字代码50 要添加错误消息,请使用函数messages.error()

views.py

from django.contrib import messages

def list(request):
    messages.error(request,'invalid user', extra_tags='alert')
    return redirect('/')

您的list 视图应该引起了异常。这是无效的语法(def 语句中缺少:)以及数字messages.ERROR 是不可调用的。

【讨论】:

  • 帖子中的图片是使用messages.error()的结果,而不仅仅是文本提醒
猜你喜欢
  • 2017-05-13
  • 1970-01-01
  • 1970-01-01
  • 2012-01-19
  • 1970-01-01
  • 2018-11-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多