2009-08-31 74 views

回答

161

您必須記住您的模板正在生成HTML。在HTML中,換行符只是另一個空格,並不意味着將以下文本放在新行上。有很多方法可以強制HTML中的新行。

你可以用一個<pre>標記文本,使HTML將明白,這是預格式化:

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

您可以使用Django過濾器的純文本換行轉換成HTML。 linebreaks將單個換行變成<br>標籤,並將雙換行變成<p>標籤。 linebreaksbr剛剛轉換行到<br>標籤:

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

你可以用這些實驗,看看哪個你更喜歡。

如果不這樣做,您可以在視圖中使用字符串操作,以便以更適合您的方式將純文本轉換爲HTML。如果你想得到真正先進的,你可以編寫自己的過濾器,轉換你喜歡的方式,並在整個模板中使用它。

+2

https://docs.djangoproject.com/en/dev/ref/templates/builtins/#linebreaks – Wtower 2017-01-20 23:00:42

14

不確定我是否完全理解您的問題,但請嘗試使用換行符過濾器。

{{ value|linebreaks }} 
相關問題