DjangoでマークダウンをHTMLに変換するためにHTMLを生で出力する方法

Django

テキストとして表示するのではなく、HTMLをRaw(生)で表示したい

マークダウンなどで既にDBの中のデータは出力用にHTMLで形式で格納されていて、そのままHTMLとして直接画面に出力したい場合です。

通常のテキストを表示する場合

通常のテキストを表示する場合は、for文などでループさせて中身を以下のように表示するのが一般的かと思います。

<p>{{ post.text | linebreaksbr}}</p>

 

HTMLを生でそのまま表示

HTMLを生でそのまま表示する場合は以下でOKです。

HTMLのタグも全部含まれた状態だと思うので、for文で回す必要もないですね。

{{ post.text | safe }}

 

DjangoとJavaScriptの連携

マークダウンで記述できるようにしようとすると、フロントはJavaScriptで処理する必要があるかと思います。

その際に、JavaScriptからDjangoへリダイレクト先を返す場合にひと工夫必要でした。

詳しくは以下へ記載しましたので、確認してみてください。

Djangoでリダイレクトのレスポンスを返してJavaScript(JS)でリダイレクトさせる方法

 

 

オススメの関連商品

コメント