2017-09-24 81 views
0

表單成功提交後,我想顯示一個漂亮的綠色框來顯示成功消息。在Django中使用crsipy格式的消息框樣式

代碼在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" 

如果有任何的錯誤,那麼它會顯示爲紅色框,但不是形式提交成功的消息。

任何幫助,高度讚賞。提前致謝。

回答

1

消息樣式與django-crispy-forms不相關。這是你需要做的事情。

這裏是與引導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">&times;</a> 
    {{ message }} 
</div> 
{% endfor %} 

所以你需要使用一個div,而不是李並改變其類alert alert-{{ message.tags }}(其將是危險,成功等)。請注意,bootstrap 3需要類名alert-danger來顯示錯誤樣式(紅色邊框),而Django消息在message.tags中返回錯誤,這就是爲什麼我在那裏有{% if %}

+0

它的工作。非常感謝你的幫助。 –