2013-07-26 2 views
2

У меня есть эта строкаЕсть ли способ разрешить n в шаблоне django? (Самозагрузки-поповер)

{{contact.info}} 

Значение является:

name teste\[email protected]\n(11) 11111-1111\n(0) 12312-3123\n(12) 12312-3123\n 

В HTML я хочу видеть:

name teste 
[email protected]<br> 
(11) 11111-1111 
(10) 12312-3123 
(12) 12312-3123 

Есть каким-либо образом?

+1

Проблема не в шаблоне, это то, что новая строка в HTML ничего не делает ... – geoffspear

+0

Есть ли способ сделать это? – brunozrk

ответ

3

Используйте символы autoescape template tag для символа штриховки в стиле esacpe (<br />).

Кроме того, поскольку у вас нет символов штриховки html, вам необходимо преобразовать текстовые файлы в символы новой строки для разметки строк в формате HTML, используя linebreaksbr Django template filter, как предложено в this answer.

Ваш код должен выглядеть следующим образом:

{% autoescape on %} 
    {{ contact.info | linebreaksbr }} 
{% endautoescape %} 
+0

Он не работает;/ – brunozrk

+0

@ user2092913 теперь он должен;) –

+0

Не разрешает html-тег, печатает
brunozrk

3

Вы хотите linebreaks фильтр:

{{contact.info | linebreaks}} 

Это, как говорится, было бы лучше, если бы contact.info был список - тогда вы могли бы сделать:

{% for info in contact.info %} 
{{ info }}<br /> 
{% endfor %} 
+0

Ударьте вас на 4 секунды, но вы указали ссылку, так что у вас +1. :) – geoffspear

+0

@Wooble - * хихикает * и вы удалили свой пост, чтобы я не мог +1 вас за избиение меня. –

+0

Не разрешает тег html, печатает
brunozrk

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