このため初めてKayに触れる時は、URLマッピング設定に対して戸惑いが大きい。
このKayのURLマッピングについて説明を書いて行く。今回は設定箇所について解説する。
KayではURLマッピングの設定が3箇所存在する。
- settings.py
- プロジェクトのurls.py
- アプリケーションのurls.py
以下、各ファイルについて簡単に説明する。
- settings.py
アプリケーション作成時に、INSTALLED_APPS にアプリケーションを登録する。
この時、APP_MOUNT_POINTS にアプリケーションをどのURLで動かすか指定する。
APP_MOUNT_POINTSに設定を行わなければ、デフォルト設定でアプリケーション名のURLにマウントされる。
INSTALLED_APPS = ( 'myapp', ) APP_MOUNT_POINTS = { 'myapp': '/', }
INSTALLED_APPSはタプル型で、APP_MOUNT_POINTSは辞書型で記述する。
設定例では、アプリケーションとして myapp を登録し、myapp のマウントポイントとして スラッシュ(/)を定義している。 - プロジェクトのurls.py
プロジェクト・フォルダーにあるurls.pyファイル。
プロジェクト全体で利用するURLを登録する。
アプリケーションのURLはアプリケーションのurls.pyに登録する。
from kay.routing import ( ViewGroup, Rule ) view_groups = [ ViewGroup( Rule('/_ah/queue/deferred', endpoint='deferred', view='kay.handlers.task.task_handler'), Rule('/maintenance_page', endpoint='_internal/maintenance_page', view='kay._internal.views.maintenance_page'), ) ]
設定例は、python kay/manage.py startproject myprj コマンドでプロジェクトを生成した時のurls.py設定。 - アプリケーションのurls.py
アプリケーション・フォルダーにあるurls.pyファイル。
アプリケーションに関するURLを登録する。
from kay.routing import ( ViewGroup, Rule ) view_groups = [ ViewGroup( Rule('/', endpoint='index', view='myapp.views.index'), ) ]
設定例は、python manage.py startapp myapp コマンドでアプリケーションを作成した時のurls.py設定。 デフォルトで、スラッシュ(/)のURLに対して myapp.views.index関数がマッピング設定されている。
参考
Kayドキュメント チュートリアル
Kayドキュメント URLマッピング