Django公式チュートリアルで遊ぶ~はじめてのDjangoアプリ作成その1つづき

前回に引き続きdjangoで遊びます。

公式チュートリアルに沿って進めています。

https://docs.djangoproject.com/ja/3.1/intro/tutorial01/

前回はサーバ起動まで進めました。

 

環境は以下の通り。

・Windows10

・Python3.8.5

・Django3.1.2

・venv使用

Visual Studio Code

 

公式チュートリアルその1のつづきでpolls(投票)アプリを作成しビューを作成、ブラウザで表示するところまで進めました。

f:id:fat_pigman:20201006060245p:plain

 

備忘録として今回実装する中で調べた点を記録しておきます。

・*args, **kwargsとは

HttpResponseクラスのコンストラクタの定義を見ると引数に*args, **kwargsとあり、気になって調べました。

いずれも可変長引数という点は共通していますが、前者は位置引数の可変長引数、後者はキーワード引数の可変長引数という違いがあります。

※位置引数とキーワード引数について

位置引数とは対応する位置にある仮引数のこと。

ちなみに位置引数の可変長引数に指定した実引数は、タプルとして仮引数に渡されるらしいです。

キーワード引数とは位置ではなくkey=valueを受け取る仮引数のこと。

キーワード引数の可変長引数に指定した実引数は辞書型として仮引数に渡されるらしいです。

なお引数名はなんでもいいとのこと。

 

・アプリのurls.pyに書くurlpatternsについて

path関数もしくはre_path関数のリスト。

path関数の引数には

URLパターン文字列

ビュー名(クラスベースと関数ベースがあるらしいがまだ未調査)

キーワード引数の可変長引数

urlパターンにつける名前

を渡します。

なお、urlパターンにつける名前を付けておくとdjango全体から参照できるようです。便利道具のよう。

 

次回はチュートリアルその2に入ります。