Django Bootstrap 警报未按预期工作

r6vfmomb  于 2022-12-08  发布在  Bootstrap
关注(0)|答案(2)|浏览(174)

我需要帮助。
我试图使我的应用程序看起来更好的引导警报,我有一个警报添加一个项目和其他警报删除一个项目。
当我新增项目时,我的提醒看起来很棒,而且运作正常,但当我删除项目时,它就无法正常运作..只会显示我的消息,但没有启动提醒...
我做错了什么?
这是我得到的:

<div class="container">
  {% if messages %}
  <div class="row">
  <div class="col-sm-6 col-sm-offset-3">
      {% for message in messages %}
      <p{% if message.tags == "success" %} class="alert alert-success "{% endif %}>{{ message }}</p>
      {% if message == 'danger' %}
      <p{% if message.tags == 'danger'  %} class="alert alert-danger"{% endif %}>{{ message }}</p>
      {% endif %}
      {% endfor %}

    </div>

  </div>
  {% endif %}

我的成功消息的视图messages.success(请求,“已添加!.”)
查看我的危险消息messages.error(请求,“已删除!.”)
提前感谢
编辑

我解决了我的问题,因为西尔维奥回答我的问题。工作的每一个引导警报伟大,但alert-danger使它工作,我不得不编辑我的settings.py这样的东西:

from django.contrib.messages import constants as message_constants
MESSAGE_TAGS = {message_constants.DEBUG: 'debug',
                message_constants.INFO: 'info',
                message_constants.SUCCESS: 'success',
                message_constants.WARNING: 'warning',
                message_constants.ERROR: 'danger',}
u91tlkcl

u91tlkcl1#

作为对作者问题的更新,只有被覆盖的标签才需要在设置中列出:https://docs.djangoproject.com/en/4.0/ref/contrib/messages/#message-tags
在这种情况下(Bootstrap寻找“危险”,但Django提供“错误”):

from django.contrib.messages import constants as messages
MESSAGE_TAGS = {
    messages.ERROR: 'danger',
}
pokxtpni

pokxtpni2#

我猜您在Bootstrap中使用了错误的HTML标记:

{% if messages %}
  <div class="row">
  <div class="col-sm-6 col-sm-offset-3">
      {% for message in messages %}
      <div class="alert alert-{{ message.tags }}" role="alert">
          <p>{{ message }}</p>
      </div>
      {% endfor %}
    </div>

  </div>
{% endif %}

请注意,您使用的是<p>标签,而不是<div>。此外,您也可以直接使用{{ message.tags }}

相关问题