公開資料


Python Django 入門 (ver.4)

Django(ジャンゴ)は Python を用いて Web アプリケーションを構築するためのフレームワークです.PHP の Laravel とも似た機能を持っています.ここでは,Django のインストールと,Laravel で開発したコメント掲示板と同じような Web アプリケーションを開発してみます.

なおこのページは Windows のコマンドプロンプト (Anaconda prompt) をベースに作成しています.必要に応じて macOS Monterey の Z shell (zsh) でのコマンドも説明しています.

目次

  1. Django のインストール
  2. コメント掲示板の開発
    1. プロジェクトの作成
    2. Git でコミット
    3. Web サーバを起動しておく
    4. Config
    5. Comments アプリケーションを作る
    6. アプリケーションを有効にする
    7. はじめてのビューを作成する
    8. モデルを作る
    9. マイグレーション
    10. テストデータの設定
    11. データベースからコメント一覧を取得して表示してみよう
    12. Bootstrap の導入
    13. コメントの詳細表示
    14. urls.pyの書き方
    15. HTML のテンプレート化
    16. コメントの新規投稿
    17. コメントの編集機能を追加する
    18. さらにテンプレート化
    19. モデル,マイグレーションファイル,フォームの関連
    20. 入力内容の検証(バリデーション)
    21. コメントを削除する
    22. 一覧を逆順にする
    23. ページネーション
    24. フラッシュメッセージ
    25. Static コンテンツの設置
    26. 更新や削除にもフラッシュメッセージを表示
    27. テストの自動化を実現しよう
    28. デバッグツールバーを使う
    29. generic モジュールを使わずにコメント一覧を取得する
    30. コメント一覧のページネーション
    31. 一覧の表示順序を制御する
    32. generic モジュールを使わずにコメントの詳細を表示する
    33. コメント詳細にページ送り機能を作成する
    34. generic モジュールを使わずにコメント登録機能を作成する
    35. generic モジュールを使わずにコメント編集機能を作成する
    36. generic モジュールを使わずにコメント削除機能を作成する
  3. リレーションシップを使いこなそう
    1. 概要
    2. プロジェクトの作成
    3. 一対多のリレーションシップ
    4. 多対多のリレーションシップ
  4. ユーザ認証とコメント掲示板の開発
    1. プロジェクトの概要
    2. プロジェクトの作成と初期設定
    3. アプリケーションの作成と有効化
    4. ルートの記述
    5. ビューの定義
    6. HTML のテンプレート化
    7. HTML ファイルの作成
    8. Web ページ雛形の表示確認
    9. トップページの作成
    10. データベースのマイグレーション
    11. ユーザの作成
    12. ユーザ認証機能の実装
    13. セッション情報の確認
    14. ユーザ認証の状態を表示
    15. Navbar を設置
    16. モデルの作成とマイグレーション
    17. テストデータの投入
    18. コメントの一覧表示
    19. ページネーションと更新逆順表示
    20. コメント投稿機能の実装
    21. フラッシュメッセージ
    22. コメント詳細表示ページの実装
    23. 投稿者のユーザ名とメールアドレスの表示
    24. 投稿者であるかどうかの判断
    25. 編集・更新機能の実装
    26. コメント削除機能の実装
    27. Navbar の調整
    28. Profile の表示
    29. Profile の編集と更新
    30. パスワードの変更
    31. 管理サイトの準備
    32. 管理ユーザの登録
    33. 管理サイトへのログインとスタッフの登録
    34. グループの追加と権限の付与
    35. 管理サイトに comments アプリケーションを登録
    36. Comments アプリケーションから管理サイトへ
  5. Django のマイグレーション
    1. 概要と準備
    2. マイグレーションの実行
    3. モデルの作成とマイグレーション
    4. テーブルに列を追加
    5. テストデータの投入
    6. ロールバックとテーブルの再生成
    7. テーブルに再び列を追加
  6. カスタムユーザ認証
    1. プロジェクトの概要
    2. プロジェクトの作成と初期設定
    3. Users アプリケーションの作成と有効化
    4. 認証にカスタムユーザモデルを利用する
    5. モデルの作成
    6. マイグレーション
    7. ユーザの登録
    8. 管理ユーザの登録
    9. 管理サイトの作成
    10. Comments アプリケーションの作成
    11. ページ雛形の作成
    12. ログイン・ログアウトの実装
    13. Navbar の設置
    14. Comments アプリケーションのユーザ認証
    15. ユーザ一覧ページ
    16. ユーザ詳細情報の表示
    17. ユーザ情報の更新
    18. パスワードの変更
    19. Gmail 2段階認証の設定とアプリパスワードの取得
    20. メールの設定と送信
    21. パスワードのリセット
    22. ユーザ登録機能の実装
    23. ユーザ登録時に氏名も登録
    24. ユーザ登録時にメールアドレスも登録
    25. ユーザ登録してもログインできないように
    26. ユーザ登録後にメールを送信
    27. メール検証によるアカウントの有効化
    28. トークン有効期限の変更
    29. ログアウト後に top へリダイレクト
    30. 検証メールの再送信
    31. 未検証ユーザのログインエラーメッセージ
    32. メールに有効期限を表示
    33. フラッシュメッセージの変更
    34. 未検証ユーザのパスワードリセット

参考資料

  1. Django ドキュメント

    ここのチュートリアル(その1 から その7)を学習すると良いでしょう.