Django公式チュートリアルで遊ぶ~はじめてのDjangoアプリ作成その1つづき
前回に引き続きdjangoで遊びます。
公式チュートリアルに沿って進めています。
https://docs.djangoproject.com/ja/3.1/intro/tutorial01/
前回はサーバ起動まで進めました。
環境は以下の通り。
・Windows10
・Python3.8.5
・Django3.1.2
・venv使用
公式チュートリアルその1のつづきでpolls(投票)アプリを作成しビューを作成、ブラウザで表示するところまで進めました。
備忘録として今回実装する中で調べた点を記録しておきます。
・*args, **kwargsとは
HttpResponseクラスのコンストラクタの定義を見ると引数に*args, **kwargsとあり、気になって調べました。
いずれも可変長引数という点は共通していますが、前者は位置引数の可変長引数、後者はキーワード引数の可変長引数という違いがあります。
※位置引数とキーワード引数について
位置引数とは対応する位置にある仮引数のこと。
ちなみに位置引数の可変長引数に指定した実引数は、タプルとして仮引数に渡されるらしいです。
キーワード引数とは位置ではなくkey=valueを受け取る仮引数のこと。
キーワード引数の可変長引数に指定した実引数は辞書型として仮引数に渡されるらしいです。
なお引数名はなんでもいいとのこと。
・アプリのurls.pyに書くurlpatternsについて
path関数もしくはre_path関数のリスト。
path関数の引数には
URLパターン文字列
ビュー名(クラスベースと関数ベースがあるらしいがまだ未調査)
キーワード引数の可変長引数
urlパターンにつける名前
を渡します。
なお、urlパターンにつける名前を付けておくとdjango全体から参照できるようです。便利道具のよう。
次回はチュートリアルその2に入ります。