Как добавить HTML-класс в help_text формы Django? - PullRequest
9 голосов
/ 14 февраля 2010

У меня есть простая форма

class MyForm(forms.Form):
    ...
    fieldname = forms.CharField(help_text="Some help text")

Затем я могу отобразить эту форму с помощью удобного django {{ form.as_ul }}, если мне нравится, теперь мне нужно стилизовать текст help_text, и я понятия не имею, как. Кажется, что Django не оборачивает эту строку во что-нибудь, что позволит моему CSS добраться до нее, поэтому на данный момент я восстановил:

class MyForm(forms.Form):
    ...
    fieldname = forms.CharField(help_text='<div class="helptext">Some help text</div>')

Что я знаю неправильно, поэтому я ищу здесь для лучшего совета.

Ответы [ 3 ]

13 голосов
/ 22 декабря 2012

Более удобный способ сделать это:

from django.utils.safestring import mark_safe

и затем:

field = models.TextField(help_text=mark_safe("some<br>html"))
7 голосов
/ 14 февраля 2010

Существует только то, что вы можете настроить в пользовательском интерфейсе из параметров формы. Более гибкий способ решения проблемы заключается в создании собственного шаблона формы и его повторном использовании вместо {{ form.as_something }}. Прочитайте эти темы из документации Django:

Это сработало очень хорошо, когда мне нужно было существенно настроить метки форм, но сохранить их СУХИМ.

2 голосов
/ 14 февраля 2010

Полагаю, другого пути нет, иначе, возможно, в этом билете не было бы необходимости: http://code.djangoproject.com/ticket/8426.

Вы можете применить патч, предоставленный там.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...