Как создать разрыв строки в шаблоне Django - PullRequest
5 голосов
/ 12 апреля 2010

Я хочу дать значение по умолчанию для текстовой области. Код выглядит примерно так:

<textarea>{{userSetting.list | join:"NEWLINE"}}</textarea>

где userSetting.list - список строк, каждый элемент которого должен отображаться в одной строке.

textarea принимает содержимое между тегами в качестве значения по умолчанию, сохраняя его разрывы строк и не интерпретируя никакие теги HTML (что означает, что <br>, \n не будет работать).

Я нашел решение: {{userSetting.list | join:" " | wordwrap:0}} (в списке нет пробелов). Но очевидно, что это НЕ хороший. Любая помощь будет оценена.

Ответы [ 3 ]

8 голосов
/ 17 апреля 2010

Поскольку Крис не пришел и не взял кредит, я должен сам ответить на свой вопрос.(Но все равно спасибо ему за указание на правильное направление )

Сущность HTML &#10; обозначает символ NEWLINE и не будет интерпретироваться в шаблоне Django.Так что это будет работать:

<textarea>{{userSetting.list | join:"&#10;"}}</textarea>
0 голосов
/ 13 апреля 2010

Текстовая область в HTML учитывает символы новой строки. Это не ускользает от \ n:

<textarea>{{userSetting.list | join:"\n"}}</textarea>

Я думаю, что это должно превратить \ n в символ новой строки, поэтому ваш источник выглядит следующим образом:

<textarea>Setting 1
Setting 2
Setting 3</textarea>

Это сработало бы, если бы это произошло, но может не преобразовать \n правильно.

0 голосов
/ 13 апреля 2010

Попробуйте использовать {{userSetting.list | join:"&#10;"}}, если
и \n не будут работать. Дайте мне знать, как вы поживаете ...

: P

...