blog,web開発準備ブログ

blog,web開発のために調べたメモをまとめるブログです。

DjangoのURL処理(その1)

Python3のwebフレームワーク、DjangoのURL処理で、よく使うものを解説します。Djangoのバージョンは1.11です。

設定

Djangoでは、ページのリクエストがあったとき、settings.pyのROOT_URLCONFに設定されているモジュールを参照します。初期設定では、

ROOT_URLCONF = 'myproject.urls'

となります。myprojectdjango-admin startprojectで作ったプロジェクト名です。ここでは、urls.pyにURL処理を書いていきます。

基本的な使い方

Djangoでは、URLと表示したいページや処理方法を結びつけるものをURLconfというモジュール(通常、urls.pyというファイル)に書きます。 django.conf.urlsから、url関数をインポートし、urlpatternsへurl関数から作られるインスタンスのリストを代入します。url関数は、

url(r'regularexpression', view, name='name')

という形式になります。regularexpressionpython正規表現です。この正規表現で、URLを指定します。例えば、regularexpressionをcontentsとしたとき、サイトのアドレスがhttp://www.example.com/の場合、http://www.example.com/contents/のURLにヒットします。viewでデータを処理します。nameはテンプレートでページリンクをするときに利用します。下はurls.pyの例です。

from django.conf.urls import url
from . import views

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