【问题标题】:Can't close Django message alerts无法关闭 Django 消息警报
【发布时间】:2021-05-25 17:32:58
【问题描述】:

我知道这很愚蠢,但我似乎无法解决它。

我在 Django 模板上显示警报,并希望用户通过按下弹出时显示的“X”图标来删除警报。我的问题是单击“X”图标不起作用。当重定向到主页时,警报消息也不会显示,但是当导航到产品页面时,为该页面生成的所有警报都会立即显示。

这是显示消息的基本模板:

<body>
    <div class="mt-5 pt-4">
        {% if messages %}
        {% for message in messages %}
        <div class="messages {{ message.tags }} fade show" role="alert">
            {{ message }}
            <button type="button" class="close" data-dismiss="alert" aria-label="Close">
                <!-- <span aria-hidden="true">&times;</span> -->
            </button>
        </div>
        {% endfor %}
        {% endif %}
    </div>
</body>

当到达语句中的某个点时,我的消息会在 views.py 文件中创建,例如:

order_item.save()
messages.success(request, 'This item quantity was updated.')

order.items.add(order_item)
messages.success(request, 'This item was added to your cart.')

这是一个弹出警报的示例。

谢谢。

【问题讨论】:

  • 如果你使用的是 Bootstrap 5.x 你需要&lt;button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"&gt;&lt;/button&gt; 注意data-bs-dismiss="alert"

标签: python django message alerts


【解决方案1】:

使用 data-bs-dismiss="alert" 而不是 data-dismiss="alert"

【讨论】:

  • 您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center
【解决方案2】:

你可以试试这个

{% for message in messages %}
    <div class="alert alert-{{ message.tags }} alert-dismissible fade show" role="alert">
        {{ message }}
        <button type="button" class="close" data-dismiss="alert" aria-label="Close">
            <span aria-hidden="true">&times;</span>
        </button>
    </div>
{% endfor %}

【讨论】:

  • 虽然此代码可能会解决问题,including an explanation 关于如何以及为什么解决问题将真正有助于提高您的帖子质量,并可能导致更多的赞成票。请记住,您正在为将来的读者回答问题,而不仅仅是现在提问的人。请edit您的回答添加解释并说明适用的限制和假设。
猜你喜欢
  • 2020-09-11
  • 2022-11-16
  • 2019-12-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-04-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多