Юникод / ​​специальные символы в help_text для формы Django? - PullRequest
0 голосов
/ 02 декабря 2011

Я пытаюсь добавить специальный символ (в частности, ndash) в поле модели help_text.Я использую его в выводе формы, поэтому я попробовал то, что казалось интуитивно понятным для HTML:

help_text='2 – 30 characters'

Затем я попытался:

help_text='2 \2013 30 characters'

Все еще не повезло.Мысли?

Ответы [ 2 ]

1 голос
/ 02 декабря 2011

Django по умолчанию экранирует все html.попробуйте обернуть вашу строку в mark_safe

0 голосов
/ 06 июля 2012

У тебя почти было это со второй попытки.Сначала вам нужно объявить строку как Unicode, предварительно добавив в нее u.Во-вторых, вы неправильно написали код.Это также нуждается в предисловии;как \u.

help_text=u'2\u201330 characters'

Теперь это будет работать и имеет дополнительное преимущество - не загрязнять строку символьными объектами HTML.Помните, что значение поля может использоваться в другом месте, а не только в выводе формы.Этот совет универсален для использования символов Unicode в Python.

Дополнительная информация:

  • Unicode литералы в Python, в которых упоминаются другие предисловия кодовой точки (\x\U)
  • PEP263 содержит простые инструкции по использованию фактических необработанных символов Юникода в исходном файле.
...