Djangoチュートリアルその1
チュートリアルでは、簡単な(Poll)アプリケーションの作成に取り組む。 Pollアプリケーションでは、2つのサイトからなる。
- ユーザーが投票と投票結果の確認ができる公開用サイト
- 投票項目の追加や変更、削除ができる管理(admin)サイト
プロジェクトを作成する
下記コマンドを実行することで、projectのコードを自動生成できる。
django-admin startproject mysite
開発用サーバー
Polls アプリケーションをつくる
はじめてのビュー作成
path関数
include関数は、URLconfへの参照が可能。include()に遭遇すると、 そのポイントまでに一致したURLの部分を切り落とし、次の処理のために残りの文字列をインクルードされたURLconfへ渡す 背景にある考えは、URLをプラグ&プレイ可能にすることらしい pollsは独自のURLconfを持っている
- 4つの引数を取る。
routeとviewは必須。kwargs,nameはoptional - route: URLパターンを含む文字列。
urlpatternsのパターンから始まる。リストを順に下から参照し、URLと一致するものを探す。 - view: マッチする正規表現を見つけると
view関数が呼び出される。
その際は、HttpRequestオブジェクトを第一引数。
キーワード引数として、routeからキャプチャされた値を渡す。 - kwargs: 任意のキーワード引数を辞書としてビューにわたす。
- name: urlに名前をつけておくと、Djangoのどこからでも参照できるらしい。便利そう。
疑問
- URLConf
- URL configの略っぽい。URLconf内の定数などを参照するということか?どこで定義されるのか?
- ディスパッチャ
- プログラム内で、特定の処理を実行するために、適切なコードや関数を呼び出すものらしい
- 「急いで送る」という意味らしい。参考
- イベントハンドラと何が違うのか?気になったので調べた
- イベントハンドラーにイベントを転送するのがディスパッチャ
参照
割り込み・イベント・例外
互いに関係の深い、割り込みとイベントと例外について、説明しています。
KJR020's Blog