URLパラメーターの送信
HTTPリクエストで、以下のようにURLにパラメーターを付して送り、これをDjangoで受け取って処理する手順。
1 |
http://localhost:8000/paramtest/100 |
ここではparamtest
アプリケーションでパラメーターとして100
が送信されるとする。
ルーティングの設定
まずURLに含まれるパラメーターを認識するため、ルーティングを設定する。アプリケーションのurls.py
で、パラメーターを受け取るために以下のように記述する。
1 2 3 4 5 6 |
from django.urls import path from paramtest import views urlpatterns = [ path('<int:parameter>', views.index), ] |
<int:....>
によってパラメーターが整数形式であることを明示していて、整数以外の値が渡された場合は404エラーとなる。
ビューの記述
ルーティング先のviews.index
では、このパラメーターを引数で受け取る。以下の例では、受け取ったパラメーターをそのままテンプレートに渡している。
1 2 3 4 5 |
from django.shortcuts import render def index(request, parameter): context = {'parameter': parameter} return render(request, 'paramtest/index.html', context) |
テンプレートが以下のようになっていれば、URLで与えたパラメーターの値がブラウザーにそのまま表示される。
1 |
<p>Parameter: {{ parameter }}</p> |