このため初めて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はタプル型で、APP_MOUNT_POINTSは辞書型で記述する。設定例 123456INSTALLED_APPS
=
(
'myapp'
,
)
APP_MOUNT_POINTS
=
{
'myapp'
:
'/'
,
}
設定例では、アプリケーションとして myapp を登録し、myapp のマウントポイントとして スラッシュ(/)を定義している。 - プロジェクトのurls.py
プロジェクト・フォルダーにあるurls.pyファイル。
プロジェクト全体で利用するURLを登録する。
アプリケーションのURLはアプリケーションのurls.pyに登録する。
設定例は、python kay/manage.py startproject myprj コマンドでプロジェクトを生成した時のurls.py設定。設定例 123456789101112from
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'
),
)
]
- アプリケーションのurls.py
アプリケーション・フォルダーにあるurls.pyファイル。
アプリケーションに関するURLを登録する。
設定例は、python manage.py startapp myapp コマンドでアプリケーションを作成した時のurls.py設定。 デフォルトで、スラッシュ(/)のURLに対して myapp.views.index関数がマッピング設定されている。設定例 123456789from
kay.routing
import
(
ViewGroup, Rule
)
view_groups
=
[
ViewGroup(
Rule(
'/'
, endpoint
=
'index'
, view
=
'myapp.views.index'
),
)
]
参考
Kayドキュメント チュートリアル
Kayドキュメント URLマッピング