表单成功提交后,我想显示一个漂亮的绿色框来显示成功消息。
views.py中的代码 -
upload.save()
success = True
messages.success(request, 'Result Uploaded Successfully.')
在html文件中 -
{% if messages %}
<ul class="messages">
{% for message in messages %}
<li{% if message.tags %} class="{{ message.tags }}"{% endif %}>{{ message }}</li>
{% endfor %}
</ul>
{% endif %}
它显示为子弹列表。
settings.py -
CRISPY_TEMPLATE_PACK = "bootstrap3"
如果有任何错误,则显示在红色框中,但不显示表单提交成功消息。
非常感谢任何帮助。提前谢谢。
答案 0 :(得分:1)
消息样式与django-crispy-forms无关。这是你需要自己做的事情。
这是一个与bootstrap 3一起使用的代码片段,我用于我的项目以正确显示django消息:
{% for message in messages %}
<div class="alert fade in {% if message.tags %} alert-{% if 'error' in message.tags %}danger{% else %}{{ message.tags }}{% endif %}{% endif %}">
<a class="close" href="#" data-dismiss="alert">×</a>
{{ message }}
</div>
{% endfor %}
所以你需要使用div而不是li并将其类更改为alert alert-{{ message.tags }}
(这将是危险,成功等)。请注意,引导程序3需要类名alert-danger
来显示错误样式(红色边框),而django消息在message.tags
中返回错误,这是错误的原因,这就是我在那里{% if %}
的原因。