12.Djangoに検索フォームを追加してみよう
Djangoアプリケーションに検索フォームを追加してみましょう。Djangoでは予め用意されているフォームクラスを継承することで、簡単にフォームを作成・表示することができます。
Djangoアプリケーションに検索フォームを追加してみましょう。Djangoでは予め用意されているフォームクラスを継承することで、簡単にフォームを作成・表示することができます。
Djangoでテンプレートの共通部分を分割して別のファイルとして管理する方法について学びましょう。複数のWebページを表示するアプリケーションでも、テンプレートの共通部分をまとめて別のファイルとして管理しておくことで、メンテナンスが楽になります。
Djangoでリダイレクトの設定をしてみましょう。Djangoに予め用意されている views.generic モジュールの RedirectView を使えば、簡単にリダイレクトの処理を実装できます。
データベースに新しくカラムを追加する方法について学びましょう。Djangoアプリケーションのデータベースを更新するには、まずモデルの定義を更新し、その変更差分を記録したマイグレーションファイルを作成、そしてその内容をデータベースに反映します。
登録したサンプルデータをモデルから取り出して表示してみましょう。実際のWebアプリケーションではデータはビューやテンプレートに直接記述するのではなく、このようにモデルやデータベースから取得して表示します。
Djangoの管理サイト Django Admin を使ってみましょう。Django Adminは、アプリケーションやデータベース、ユーザー情報をブラウザ上でGUI操作で管理するためのサイト(Webアプリケーション)です。
Djangoでデータベースを設定する方法とモデルの作成、モデルを使ったデータベース操作について学びましょう。これまではviews.pyに直接データを記述していましたが、アプリケーションで使用するデータはデータベースで管理するべきです。
Djangoでテンプレートエンジンを使って、リストを定義してループで表示してみましょう。リストをテンプレートに渡すには文字列を渡した時と同じように contextという名前の辞書に定義して render関数の第三引数に指定します。
これまでは記述した文字列をPythonのreturn関数でそのまま表示していましたが、この方法では可読性やメンテナンス性に乏しく、プログラマとデザイナーが作業を分担しにくいなどの問題があります。データと見た目を分離してプログラムからWebページを自動生成しやすくするテンプレートエンジンを使ってみましょう。
Djangoプロジェクトのディレクトリ構成は非常にスマートに設計されていますが、同じ名前のフォルダがいくつかできてしまったりと分かりづらい部分があります。この記事ではよりわかりやすい構成を紹介するとともに、Djangoそのもののアーキテクチャについても解説します。