1. ホーム
  2. html

[解決済み] Django はデータベースからテキストをレンダリングする際、改行文字を表示しません。

2022-12-14 17:57:45

質問

Django を開発に使っていて、データベースから改行文字を含むテキストを取得しています。しかし、テンプレートタグを使用してテンプレートにレンダリングすると、改行文字が表示されません。

何が問題なのでしょうか?

どのように解決するのですか?

テンプレートはHTMLを生成していることを忘れてはいけません。 HTMLでは、改行文字は単なる空白文字であり、次のテキストを改行することを意味するものではありません。 HTML で改行を強制する方法はいくつかあります。

でテキストを包むことができます。 <pre> タグで囲むと、HTMLはそれがプリフォーマーであることを理解します。

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

Django のフィルタを使って、プレーンテキストの改行を HTML に変換することができます。 linebreaks は単一の改行を <br> タグの中に <p> は、改行を linebreaksbr タグに変換します。

<br>

どれがいいかは試してみてください。

そうでない場合は、ビューで文字列操作を使用して、プレーンテキストをより適した方法でHTMLに変換することができます。そして、本当に高度なことをしたいのであれば、好きなように変換する独自のフィルタを書いて、テンプレート全体でそれを使用することができます。