この記事ではDjangoの公式チュートリアルに沿った内容で使い方を解説していきます。
今回はDjangoでフロントエンドを構築する手順です。
フロントエンド実装の概要
Djangoでwebアプリのフロントエンドを実装するには、大きく3つの設定が必要です。
それぞれどのように設定していくのか、詳細に説明していきます。
ルーティングを設定
ルーティングでは、httpのURLと呼び出されるサーバのプログラムを紐づけます。
ルーティングは2種類のファイルで実施し、プロジェクト全体のルーティングとアプリケーションのルーティングに分かれています。
├ mysite/ ├ mysite/ │ ├ urls.py # プロジェクト全体のルーティング設定 ├ polls/ │ ├ urls.py # アプリケーションのルーティング設定
プロジェクト全体のルーティング
プロジェクト全体のルーティングはプロジェクトディレクトリにある「 mysite/urls.py」ファイルに設定します。
URLの後ろに/pollsが続く場合、アプリケーションのurls.pyの設定を参照するように設定しています。
また、URLの後ろが空白だった場合、pollsにリダイレクトする設定にしています。
アプリケーションのルーティング
アプリケーションのルーティング設定は、「polls/urls.py」ファイルに設定します。
このファイルは自動で生成されないため、新規作成する必要があります。
URL/pollsの後ろが空白の場合、views.pyファイルのindex関数を呼び出します。
アプリケーションの動作を記述
サーバにリクエストが来た際の処理を記述していきます。
設定ファイルは「polls/views.py」です。
questionテーブルのデータのリストを取得し、index.htmlの描画をしています。
表示するページを作成
views.pyで表示するためのページを作成していきます。
表示用のファイルはhtmlファイルで、templatesディレクトリの中に格納しておきます。
templatesディレクトリを作成
mkdir -p mysite/polls/templates/polls/
テンプレートディレクトリの中にアプリ名のディレクトリを作成し、その中にhtmlファイルを格納します。
htmlファイルを作成
views.pyに記載した「index.html」を作成していきます。
Djangoでは{% %}で囲むとpythonのコードが記述できて、{{ カラム名}}でデータを受け取ることができます。
ページを表示してみる
全ての設定が完了したので、webアプリにアクセスしてみましょう。
まず、サーバを起動します。
python3 manage.py runserver 0:8000
ブラウザからサーバにアクセスすると、Questionテーブルに入っている内容が箇条書きで表示されています。
まとめ
Djangoでwebアプリのフロントエンドを実装しました。
フロントエンドを実装するためには大きく3つの設定が必要でした。
ルーティングを設定する・アプリケーションの動作を決める・表示画面を作るについてそれぞれ解説しました。
コメント