概要Djangoで、ブログを作るシリーズ1の1つです。ブログの記事詳細ページを作成していきます。ビューの作成urls.pyに追記します。追加]views.pyに追記します。"""記事詳細ページを表示する。"""その記事が公開か、ユーザがログインしていれば表示する。Http404get_querysetは、パフォーマンス上の問題のために上書きしています。get_objectですが、これはログインしているか、記事が公開設定ならOKという指定です。ない場合は、404ページを表示します。今回ですが、記事本文はマークダウンで書く予定です。マークダウンテキストをHTMLに変換する必要があります。markdownとして必要なライブラリをインストールしておきましょう。templatetags/nblog1.pyを開き、テンプレートフィルタを作成します。"""GETパラメータの一部を置き換える。"""マークダウンをhtmlに変換する。"""マークダウンをhtmlに変換する。生のHTMLやCSS、JavaScript等のコードをエスケープした上で、マークダウンをHTMLに変換します。公開しているコメント欄等には、こちらを使ってください。mark_safe(html)マークダウンをHTMLに変換するmarkdown_to_htmlとmarkdown_to_html_with_escapeの2つのフィルタを作っています。今回はコメント等もマークダウンで書けるようにするのですが、マークダウンにはHTMLやCSS、JavaScriptのコードを直接書くこともできます。悪意のある第三者が無限アラートを出すようなJSコードをコメントとして書くかもしれません。それを防ぐために、markdown_to_html_with_escapeという生のHTML・CSS・JavaScriptコードをエスケープ処理するフィルタを作っています。マークダウンには様々な拡張があり、それらの導入をsettings.pyに定義できるようにしました。settings.pyに次のように追記しておきましょう。'markdown.extensions.toc',]テンプレートファイルの作成まず先に、post_list.htmlを開いてリンクを修正しましょう。}}</a></h2>post_detail.htmlを作り、中身を次のようにします。%}そして、style.cssに追記しましょう。10px;}特に書き間違いがなければ、次のようなカッコいいページが表示されます。blank=True)というフィールドがありました。これは関連記事を指定するためのフィールドです。この記事に紐づいた関連記事の一覧を表示するセクションを作ります。post_defail.htmlに追記します。<p>関連記事はありません。%}のように関連記事を取り出して、記事一覧ページと同様に一覧で表示しています。CSSも追記しておきます。10px;}コメント欄このブログでは記事へのコメントや、コメントへの返信ができます。それらを表示するように設定していきます。post_detail.htmlに追記です。<p>まだコメントはありません。%}CSSも追記します。}}これでコメントが表示されるようになりました。次回はコメントや返信の投稿ページを作っていきます。Postsdjango-markdownxの紹介django-markdownを使い、DjangoアプリケーションにMarkdownエディタを導入していくサンプルです。MarkdownDjangoで、ブログを作るシリーズ1Djangoでブログを作っていくシリーズです。シリーズ・まとめComment記事にコメントするまだコメントはありません。幾つかの方法で、ブログの更新を受け取れます。