Cela peut être fait à l'aide d'un modèle personnalisé de filtre.
en considérant que vous avez rendu votre formulaire de cette façon :
<form action="/contact/" method="post">
{{ form.non_field_errors }}
<div class="fieldWrapper">
{{ form.subject.errors }}
<label for="id_subject">Email subject:</label>
{{ form.subject }}
</div>
</form>
forme.l'objet est une instance de BoundField qui a le as_widget méthode.
vous pouvez créer un filtre personnalisé "addcss" dans "my_app/templatetags/myfilters.py"
from django import template
register = template.Library()
@register.filter(name='addcss')
def addcss(value, arg):
return value.as_widget(attrs={'class': arg})
Puis appliquez votre filtre:
{% load myfilters %}
<form action="/contact/" method="post">
{{ form.non_field_errors }}
<div class="fieldWrapper">
{{ form.subject.errors }}
<label for="id_subject">Email subject:</label>
{{ form.subject|addcss:'MyClass' }}
</div>
</form>
forme.les sujets seront ensuite rendus à l' "MyClass" classe css.
Espérons que cette aide.