2011-07-19 2 views
0

Я разбираю HTML-код с помощью Beautiful Soup, и иногда возвращаемый HTML-код включает в себя некоторые специальные символы, такие как — (длинная тире) и ® (символ регистра).Каков правильный способ хранения и отображения специальных символов в Django?

В настоящее время я храню этот html как строку в моем db как есть, и в результате, когда я отображаю эти переменные в своих шаблонах, специальные символы появляются, как они делают выше. Я попытался unescaping символов с помощью {{variable | safe}}, но это не сработало.

Каков правильный способ хранения и отображения этих типов специальных символов в Django?

ответ

1

Что вы ищете здесь: http://www.crummy.com/software/BeautifulSoup/documentation.html#Entity Конверсия

Вы хотите использовать параметр convertEntities и кодировать их в качестве юникода.

Последняя строка должна быть чем-то вроде

decodedString=unicode(BeautifulStoneSoup(encodedString,convertEntities=BeautifulStoneSoup.HTML_ENTITIES) 

Чтобы отобразить их снова

"Your string with a long dash in it".encode('ascii', 'xmlcharrefreplace') 
+0

спасибо, получается, я просто добавив '| safe' фильтр в неправильном месте. добавив его в нужную переменную, не привязав строку, как ожидалось. –

 Смежные вопросы

  • Нет связанных вопросов^_^