私は開発にDjangoを使用しており、データベースから改行文字を含むテキストを取得しています。ただし、テンプレートタグを使用してテンプレートにレンダリングすると、改行文字が表示されません。
何が問題ですか?
回答:
テンプレートがHTMLを生成していることを覚えておく必要があります。HTMLでは、改行文字は単なる別の空白であり、次のテキストを新しい行に配置することを意味するものではありません。HTMLで新しい行を強制する方法はいくつかあります。
テキストを<pre>
タグでラップして、HTMLが事前にフォーマットされていることを認識できるようにすることができます。
<pre>{{value}}</pre>
Djangoフィルターを使用して、プレーンテキストの改行をHTMLに変換できます。linebreaks
単一の改行を<br>
タグに変換し、二重の改行を<p>
タグに変換します。linebreaksbr
改行を<br>
タグに変えるだけです:
{{value|linebreaks}}
{{value|linebreaksbr}}
これらを試して、どちらが好きかを確認できます。
それができない場合は、ビューで文字列操作を使用して、より適切な方法でプレーンテキストをHTMLに変換できます。そして、本当に高度になりたい場合は、好きなように変換する独自のフィルターを作成して、テンプレート全体で使用できます。