#始まり
Djangoで、Qiitaの記事を表示するWebアプリケーションを作っていた。
QiitaのAPIでは、jsonで記事を取得すると、
HTMLかMarkdownかどちらかで文章をとってこれる。
それをDjangoでのテンプレートで表示したかった。
しかし、Djangoのセキュリティがきつく、htmlを埋め込めない。
そこで、markupをhtmlに変換して埋め込む作戦に出た。
調べると、
INSTALL_APPにdjango.contrib.markupを追加して、
{% contents | markdown %}
のように、markdown文字列に、markdownフィルタをかけることで、htmlに変換してくれることが分かった。
が、実行してみると、
django.contrib.markup
がモジュールに存在しないというエラー
バージョン1.6のDjangoには、markupが入っていないみたいだった。
ということで、別の方法をしらべると、django-markdown-deuxというモジュールで、同じことができることが分かった。
セキュリティ上、どうなのかわからないが、とりあえず、動かしたいので、やってみることにした。
以下手順
##django-markdown-deuxのインストール
pipを使ってインストールした
pip install django-markdown-deux
##INSTALL_APPにdjango-markdown-deuxを設定
INSTALL_APP = (
...
'markdown_deux',
...
)
##テンプレートファイルで、フィルタをかける
{% load markdown_deux_tags %}
...
{{ contents | markdown }}
...
これで、変換することができた。
以上