開発用にDjangoを使用して、データベースから改行文字を含むテキストを取得しています。しかし、テンプレートタグを使ってテンプレートにレンダリングすると、改行文字は表示されません。データベースからテキストをレンダリングするとき、Djangoは改行文字を表示しません
何が問題ですか?
開発用にDjangoを使用して、データベースから改行文字を含むテキストを取得しています。しかし、テンプレートタグを使ってテンプレートにレンダリングすると、改行文字は表示されません。データベースからテキストをレンダリングするとき、Djangoは改行文字を表示しません
何が問題ですか?
テンプレートはHTMLを生成していることを覚えておく必要があります。 HTMLでは、改行文字は単なる別の空白文字です。次のテキストを改行する必要はありません。新しい行をHTMLで強制する方法はいくつかあります。 HTMLは、それがフォーマット済みであることを理解するであろうように、
あなたは<pre>
タグを使用してテキストを折り返すことができます:あなたがHTMLにあなたのプレーンテキストの改行を変換するために、Djangoのフィルタを使用することができます
<pre>{{value}}</pre>
。 linebreaks
は、単一の改行を<br>
タグに、ダブル改行を<p>
タグに変えます。 linebreaksbr
はちょうど<br>
タグに改行を回す:
{{value|linebreaks}}
{{value|linebreaksbr}}
あなたはどっちが好きかを確認するには、これらを試すことができます。
あなたの視点で文字列操作を使用すると、平易なテキストをHTMLに変換してより適切なものにすることができます。また、高度な使い方をしたい場合は、好きなように変換する独自のフィルターを作成し、テンプレート全体で使用することができます。
あなたの質問を完全に理解しているかどうかはわかりませんが、改行フィルタを使用してみてください。
{{ value|linebreaks }}
https://docs.djangoproject.com/en/dev/ref/templates/builtins/#linebreaks – Wtower