Python | Django | URLディスパッチャの設定方法

2021年6月17日

公開日:2021/6/17

Pythonには,DjangoというWebアプリケーションフレームワークがある.フレームワークのため,Djangoを利用するとWebアプリを通常よりも短時間で開発することが可能になる.

Djangoでプロジェクトおよびアプリケーションを作成した.プロジェクトやアプリケーションでの作成に際し,すでに変更をしている箇所がある.変更に追記する形で,URLディスパッチャ(URL dispatcher)の設定方法を以下に記す.

Djangoのプロジェクトの作成方法はこちらを参照.
Djangoのアプリケーションの作成方法はこちらを参照.

◆実施環境

Python 3.8.8
Django 3.2.3

■URLディスパッチャの設定方法

Djangoのプロジェクトである"djangosite"を開く."testapp1″がアプリとして含まれている.現状は以下のような構成になっている.

“testapp1/views.py"に以下を追記する.

def url_id(request,id): 
  return HttpResponse(f'URL ID is {id}')

“testapp1/urls.py"に,上記で作成した"url_id"のpathを追記する.追記後は以下のようになる.

from django.urls import path

from . import views

urlpatterns = [
  path('abc',views.index,name='index'),
  path('site_id/<int:id>',views.url_id,name='url_id') # 追記箇所
]

ターミナルを開き,仮想環境下で操作をするので,以下赤枠をクリックし,”Command Prompt”を選ぶ.

以下のように仮想環境に移行する.

”python manage.py runserver”を実行すると,以下が出力されるので”http://127.0.0.1:8000″をクリックする.

System check identified no issues (0 silenced).
June 17, 2021 - 15:30:52
Django version 3.2.3, using settings 'djangosite.settings'
Starting development server at http://127.0.0.1:8000/ 
Quit the server with CTRL-BREAK.

クリックすると,ブラウザは以下のように表示される.

URLを入力する際,"site_id"の後ろに数字を入れると,ブラウザでその数字を引用して表示することができる.そのため,ブラウザのURLに”http://127.0.0.1:8000/testapp1/site_id/5”を入力すると,以下のように"URL ID is 5″が表示される.

なお,前回の設定がそのまま保存されているので,”http://127.0.0.1:8000/testapp1/abc”を入力すると以下のように"Hello World!"が表示される.

以上