Markdownで記事を綺麗に表示する — コードハイライトと目次【AIと一緒に作るDjangoブログ入門 #6.1】
第5章まで素のテキストだった記事本文を、Markdownで整形して表示できるようにする章。Python-Markdownでの変換、Qiita風のファイル名付きコードブロック、Pygmentsシンタックスハイライト、bleachによるサニタイズ、そしてサイドバーの目次(TOC)までを実装します。「書いたものが綺麗に見える」土台を、記事だけ見て作れる形で解説します。
第5章まで素のテキストだった記事本文を、Markdownで整形して表示できるようにする章。Python-Markdownでの変換、Qiita風のファイル名付きコードブロック、Pygmentsシンタックスハイライト、bleachによるサニタイズ、そしてサイドバーの目次(TOC)までを実装します。「書いたものが綺麗に見える」土台を、記事だけ見て作れる形で解説します。
slug方式の記事詳細ページ、カテゴリ別の一覧、キーワード検索を実装。base.htmlでの共通レイアウト化、F()式での閲覧数カウント、Qオブジェクトを使ったOR検索など、実用的なテクニックも紹介。
Post・Category・DisplaySlotの3つのモデルを設計し、管理画面で記事を管理できるようにする章。fixtureでのテストデータ投入、変更に強いDB設計(フラグ vs 別テーブル)の選び方も解説。
views.pyでダミーデータを用意し、Djangoのテンプレート継承(base.html)でブログのトップページを作る章。共通の枠を base.html に集約する公式のベストプラクティスを最初から採用し、Bootstrap5・ダークテーマ・static配信(STATIC_ROOT / collectstatic)まで通します。
Djangoの「URL → View → Template」という基本の流れを理解する章。blogアプリを作成し、INSTALLED_APPS登録・URL名前空間・テンプレートの名前空間化など、公式準拠の構造を学びます。
DockerとDjangoでブログサイトをゼロから作る環境構築編。MacにPythonもMySQLもインストールせず、Dockerだけで開発環境を整える手順を解説します。
AIと一緒にDjangoでブログを作る過程を記事にしています。初心者の方でもDockerさえあれば同じ環境が作れます。