10
votes

Comment ajouter une classe HTML à un formulaire Django's Aide_text?

J'ai une forme simple xxx

i peut alors afficher ce formulaire avec Django's Handy {{form.as_ul}} Si j'aime, maintenant j'ai besoin de Stylise L'aide_text et je ne sais pas comment. Django ne semble pas envelopper cette chaîne dans quoi que ce soit qui permettra à mon CSS y arriver, donc au moment, j'ai restauré à: xxx

que je savoir est faux, alors je regarde ici pour de meilleurs conseils.


0 commentaires

3 Réponses :


2
votes

Je suppose qu'il n'y a pas d'autre moyen, sinon il n'y aurait probablement pas besoin de ce billet: http://code.djangoproject.com/ticket/8426 .

Vous pouvez appliquer le patch qui est fourni là-bas.


0 commentaires

7
votes

Il n'y a que tant que vous pouvez personnaliser dans l'interface utilisateur des options de formulaire. Le moyen plus flexible d'aborder un problème consiste à créer votre propre modèle de formulaire, puis et à le réutiliser au lieu de {{form.as_something}} . Lisez ces sujets de Django Documentation:


1 commentaires

D'accord. forme.as_ * est pour un prototypage rapide uniquement; Layout de forme réelle nécessite de le faire dans le modèle. Pas nécessairement sur le terrain; Dans la plupart des cas, je viens de boucler dans les champs et de présenter chacun avec le même HTML.



14
votes

Un moyen plus pratique de le faire est de:

field = models.TextField(help_text=mark_safe("some<br>html"))


1 commentaires

NIT: Je préfère format_html ('

{} ', "VOTRE AVERTISSEMENT DE FANCY") Puisque votre texte obtient automatiquement HTML.