Flask - render_templateでタグ入りテキストをhtmlとして表示させる方法

2018-07-31 07:26:54 1274

はじめに

Flaskでテキストファイルを読み出し、そのテキストにhtmlタグが含まれる時、普通にjinja2で表示させると、htmlが反映されず、そのままのテキストが表示されてしまう。

いわば、preやcodeタグのような状態になってしまう。
こんな時、どうすればいいのだろうか。


これを知らなかったがためにJavascriptやらAjaxやら格闘していたと思うと悲しくなってきた。

時間を返せ。
そして、メモ。

{{ hoge | safe }}でおk

index.html

{{ content | safe }}

sample.py

@app.route('/')
def sample():
content = '<li>Hello, world!</li>'
return render_template('index.html', content=content)

ブラウザでの表示

・Hello, world!

たったsafeをつけるだけだったの巻

関連記事