Vous devez vous rappeler que vos modèles produisent du HTML. En HTML, un caractère de nouvelle ligne n'est qu'un autre espace blanc, cela ne signifie pas mettre le texte suivant sur une nouvelle ligne. Il existe plusieurs façons de forcer de nouvelles lignes en HTML.
Vous pouvez envelopper votre texte avec une <pre>
balise afin que HTML comprenne qu'il est préformaté:
<pre>{{value}}</pre>
Vous pouvez utiliser les filtres Django pour convertir vos nouvelles lignes de texte brut en HTML. linebreaks
transforme les nouvelles lignes simples en <br>
balises et les doubles nouvelles lignes en <p>
balises. linebreaksbr
transforme simplement les nouvelles lignes en <br>
balises:
{{value|linebreaks}}
{{value|linebreaksbr}}
Vous pouvez les expérimenter pour voir ce que vous préférez.
À défaut, vous pouvez utiliser la manipulation de chaînes dans votre vue pour convertir votre texte brut en HTML d'une manière qui vous convient mieux. Et si vous voulez devenir vraiment avancé, vous pouvez écrire votre propre filtre qui convertit comme vous le souhaitez et l'utiliser dans tous vos modèles.