2017-09-24 5 views
0

Une fois le formulaire soumis avec succès, je voudrais montrer une belle boîte verte pour afficher le message de réussite.Style de boîte de message utilisant la forme crsipy dans Django

code dans views.py -

upload.save() 
success = True 
messages.success(request, 'Result Uploaded Successfully.') 

Dans le fichier html -

{% if messages %} 
<ul class="messages"> 
    {% for message in messages %} 
    <li{% if message.tags %} class="{{ message.tags }}"{% endif %}>{{ message }}</li> 
    {% endfor %} 
</ul> 
{% endif %} 

Il affiche une liste à puces.

settings.py -

CRISPY_TEMPLATE_PACK = "bootstrap3" 

En cas d'erreur, il affiche dans la boîte rouge, mais pas la forme soumettre un message avec succès.

Toute aide est fortement appréciée. Merci d'avance.

Répondre

1

le style de message n'est pas associé à django-crispy-forms. C'est quelque chose que vous devez faire vous-même.

Voici un extrait qui fonctionne avec bootstrap 3 et je l'utilise pour mes projets pour afficher les messages django correctement:

{% 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 %} 

Vous avez donc besoin d'utiliser un div au lieu de li et changer sa classe à alert alert-{{ message.tags }} (qui sera le danger, le succès, etc.). Notez que bootstrap 3 a besoin d'un nom de classe de alert-danger pour afficher le style d'erreur (bordure rouge) alors que les messages django retournent une erreur dans message.tags pour des erreurs, c'est pourquoi j'ai le {% if %} là.

+0

Cela a fonctionné. Merci beaucoup pour votre aide. –