2009-08-31 3 views

答えて

161

テンプレートはHTMLを生成していることを覚えておく必要があります。 HTMLでは、改行文字は単なる別の空白文字です。次のテキストを改行する必要はありません。新しい行をHTMLで強制する方法はいくつかあります。 HTMLは、それがフォーマット済みであることを理解するであろうように、

あなたは<pre>タグを使用してテキストを折り返すことができます:あなたがHTMLにあなたのプレーンテキストの改行を変換するために、Djangoのフィルタを使用することができます

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

linebreaksは、単一の改行を<br>タグに、ダブル改行を<p>タグに変えます。 linebreaksbrはちょうど<br>タグに改行を回す:

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

あなたはどっちが好きかを確認するには、これらを試すことができます。

あなたの視点で文字列操作を使用すると、平易なテキストをHTMLに変換してより適切なものにすることができます。また、高度な使い方をしたい場合は、好きなように変換する独自のフィルターを作成し、テンプレート全体で使用することができます。

+2

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

14

あなたの質問を完全に理解しているかどうかはわかりませんが、改行フィルタを使用してみてください。

{{ value|linebreaks }} 
関連する問題