2009-08-31 1 views

risposta

161

È necessario ricordare che i modelli producono HTML. In HTML, un carattere di nuova riga è solo un altro spazio bianco, non significa mettere il seguente testo su una nuova riga. Esistono diversi modi per forzare nuove righe in HTML.

È possibile avvolgere il testo con un tag in modo che <pre> HTML capirà che è preformattato:

<pre>{{value}}</pre> 

È possibile utilizzare filtri Django per convertire i ritorni a capo di testo in HTML. linebreaks trasforma singole righe nuove nei tag <br> e doppie nuove in tag <p>. linebreaksbr appena si trasforma in nuove righe <br> tags:

{{value|linebreaks}} 
{{value|linebreaksbr}} 

Si può sperimentare con questi per vedere quale ti piace di più.

In caso contrario, è possibile utilizzare la manipolazione delle stringhe nella propria visualizzazione per convertire il testo normale in HTML nel modo che preferisci. E se vuoi essere davvero avanzato, puoi scrivere il tuo filtro che si converte nel modo che preferisci e usarlo nei tuoi modelli.

+2

https://docs.djangoproject.com/en/dev/ref/templates/builtins/#linebreaks – Wtower

14

Non sono sicuro di aver compreso completamente la domanda, ma provare a utilizzare il filtro interruzioni di riga.

{{ value|linebreaks }}