この内容は古いバージョンです。最新バージョンを表示するには、戻るボタンを押してください。
バージョン:5
ページ更新者:T
更新日時:2018-12-14 12:21:11

タイトル: URLディスパッチャー(ルーティング処理)
SEOタイトル: djangoにおけるURLディスパッチャー(ルーティング処理)

これはdjangoのURLディスパッチャーに関する記事です。

djangoではURLconfというPythonモジュールを作成し、そこにURLパターンを記載することでURLの制御をします。

URLconfは分割することが可能で、ルートのURLconfは必ず読み込まれ、場合によってはそこから他のアプリケーションのURLconfを読み込むという挙動になります。

ルートのURLconfはROOT_URLCONFに指定します。

以下、記載例となります。

 

■ルートのURLconfを指定します

パッケージ/settings.py

ROOT_URLCONF = 'itu.urls'

 

■ルートのURLconfの記述です

パッケージ/url.py

from django.conf.urls import include, url
from django.contrib import admin

urlpatterns = [
    url(r'^app1/', include('app1.urls')),
]

開発用サーバーでhttp://localhost:8000/app1/にアクセスすると、以下のURLconfが更に読み込まれます。

 

■app1のURLconf記述

app1/url.py

from django.conf.urls import url

from . import views

urlpatterns = [
    url(r'^$', views.index, name='index'),
]

app1のviewが読み込まれます。

 

app1のviewの記述

app1/views.py

from django.http import HttpResponse


def index(request):
    return HttpResponse("Hello, world. You're at the app1 index.")
 

画面に"Hello, world. You're at the app1 index."が表示されます。