「Djangoパーフェクトマスター」投票アプリの仕様を確認する【Udemyで学習】

www.youtube.com

このレクチャーでは「投票アプリの仕様を確認する」について説明します。

スライドで、投票アプリの画面遷移図をご覧いただいています。

投票アプリは、三つの画面で構成されています。一つは、質問インデックス画面、二つ目は、質問詳細画面、三つ目は、質問結果画面です。一つずつ説明します。

まずは、質問インデックス画面です。質問インデックス画面は、投票アプリのトップ画面で、URLパスが「polls/(ポールス・スラッシュ)」でアクセスされた場合に、表示されます。画面には、全ての投票項目がリンク形式で表示されます。投票項目のリンクをクリックすると、質問詳細ページに遷移します。遷移の際のHTTPメソッドは「GET」です。

次は、質問詳細画面です。質問詳細画面のURLパスは「polls/数字/」で、数字には投票項目のIDが、指定されます。質問詳細画面には、投票項目の文言と、選択肢、Voteボタンがあります。選択肢はラジオボタンと選択肢の文言で表示され、ひとつだけ選択することが可能です。Voteボタンをクリックすると、質問結果ページに遷移します。遷移の際のHTTPメソッドは「POST」です。

最後は、質問結果画面です。質問結果画面のURLパスは「polls/数字/results」で、数字には投票項目のIDが、指定されます。質問結果画面には、投票項目の文言と、選択肢、「Vote agein?」リンクがあります。選択肢には、選択肢の文言に加え、これまで何票投票されたかが表示されます。「Vote agein?」リンクをクリックすると、質問詳細画面に遷移します。遷移の際のHTTPメソッドは「GET」です。

次は、投票アプリのデータベース仕様を説明します。

スライドで、投票アプリのER図をご覧いただいています。

投票アプリのデータベースは二つのテーブルで構成されています。ひとつは、polls_questionテーブル、二つ目は、polls_choiceテーブルです。一つずつ説明します。

まずは、polls_questionテーブルです。polls_questionテーブルは、投票項目を格納するテーブルで、三つのカラムで構成されています。一つ目は、idで、自動採番による数字が格納されます。idはプラマリーキーです。二つ目は、question_textカラムで、投票項目の文言が格納されます。三つ目は、pub_dateカラムで、公開日時が格納されます。

次は、polls_choiceテーブルです。polls_choiceテーブルは、選択肢を格納するテーブルで、四つのカラムで構成されています。一つ目は、idで、自動採番による数字が格納されます。idはプラマリーキーです。二つ目は、question_idカラムで、選択肢が所属する投票項目の外部キーが格納されます。具体的にはpolls_questionテーブルのidが格納されます。三つ目は、choice_textカラムで、選択肢の文言が格納されます。四つ目は、votesカラムで、投票数の数字が格納されます。

二つのテーブルは「1対多」の関係にあります。polls_questionテーブルの1レコードに対し、polls_choiceテーブルの複数レコードが対応します。polls_questionテーブルが親テーブル、polls_choiceテーブルが子テーブルということになり、子テーブルのpolls_choiceテーブルに外部キーを設けて、関連付けを行っています。

以上で「投票アプリの仕様を確認する」の説明を終わります。

★★★ 続きはUdemyで ★★★
https://www.udemy.com/course/django_master/?referralCode=3B5D0AF66B09A7B8DD25
★★★ コース内でお逢いできることを楽しみにしています。 ★★★