gpt4 book ai didi

django - Bootstrap/Django 错误消息是否没有红色?

转载 作者:行者123 更新时间:2023-12-04 11:20:25 27 4
gpt4 key购买 nike

我想在我的 Django 应用程序中处理消息。不幸的是,除了错误消息不是红色之外,每个消息类型似乎都按预期工作。

enter image description here

我的代码很简单。

View .py

from django.contrib import messages

def generate_test(request):
messages.info(request, 'TEST')
messages.success(request, 'TEST')
messages.warning(request, 'TEST')
messages.error(request, 'TEST')
return render(request, 'test.html')

测试.html
{% extends "base_generic3.html" %}
{% load static %}
{% block content %}
{% endblock %}

我的 base_generic3.html 包含很多其他内容,如 jquery 和 bootstrap-4 集成。但以下部分用于以 bootstrap-4 样式显示消息:
...
{% if messages %}
{% for message in messages %}
<div class="alert alert-{{ message.tags }} alert-dismissible text-center" role="alert">
<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span>
</button>
<strong>{% if message.level == DEFAULT_MESSAGE_LEVELS.ERROR %}Error{% else %}{{ message.tags|title }}{% endif %}!
</strong> {{ message }}
</div>
{% endfor %}
{% endif %}
...

最佳答案

问题是 Django 的默认消息标签与 Bootstrap 的上下文类不完全匹配。 Bootstrap 使用上下文类 danger对于红色。您可以添加 MESSAGE_TAGS 设置到您的 settings.py申请 danger标记级别为 messages.ERROR 的消息.

To change the default tags for a message level (either built-in or custom), set the MESSAGE_TAGS setting to a dictionary containing the levels you wish to change. As this extends the default tags, you only need to provide tags for the levels you wish to override:



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

关于django - Bootstrap/Django 错误消息是否没有红色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55202684/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com