Sto usando Django per lo sviluppo, recuperando del testo contenente un carattere di nuova riga dal database. Tuttavia, quando eseguo il rendering in un modello utilizzando un tag modello, non mostra il carattere di nuova riga.
Qual è il problema?
Sto usando Django per lo sviluppo, recuperando del testo contenente un carattere di nuova riga dal database. Tuttavia, quando eseguo il rendering in un modello utilizzando un tag modello, non mostra il carattere di nuova riga.
Qual è il problema?
Risposte:
Devi ricordare che i tuoi modelli producono HTML. In HTML, un carattere di nuova riga è solo un altro spazio bianco, non significa mettere il testo seguente su una nuova riga. Ci sono diversi modi per forzare nuove righe in HTML.
Puoi racchiudere il tuo testo con un <pre>
tag in modo che l'HTML capisca che è preformattato:
<pre>{{value}}</pre>
Puoi utilizzare i filtri Django per convertire le nuove righe di testo normale in HTML. linebreaks
trasforma singole nuove righe in <br>
tag e doppie nuove righe in <p>
tag. linebreaksbr
trasforma solo le nuove righe in <br>
tag:
{{value|linebreaks}}
{{value|linebreaksbr}}
Puoi sperimentare con questi per vedere quale ti piace di più.
In caso contrario, puoi utilizzare la manipolazione delle stringhe nella tua vista per convertire il tuo testo normale in HTML in un modo che ti si addice meglio. E se vuoi diventare davvero avanzato, puoi scrivere il tuo filtro che converte nel modo che preferisci e usarlo in tutti i tuoi modelli.