### クエリパラメータを記述する
クエリパラメータとはアドレスの後につけて記述するパラメータの事
e.g. http://hoge.com/hello/index?xxx=yyyy&zzz=aaa… など
from django.shortcuts import render from django.http import HttpResponse def index(request): msg = request.GET['msg'] return HttpResponse('you typed : "' + msg +'".')
– request.GET[‘&{param}’]でGETパラメータを取り出す。
– リクエストはHttpRequestクラスを使用し、レスポンスはHttpResponseクラスを使用する
### クエリパラメータがない時
MultiValueDictKeyErrorになるので、views.pyでmsgがない時の処理を追加する
/hello/views.py
from django.shortcuts import render from django.http import HttpResponse def index(request): if 'msg' in request.GET: msg = request.GET['msg'] result = 'you typed : "' + msg +'".' else: result = 'please send msg parameter!' return HttpResponse(result)
– GETプロパティに設定されている値はQueryDictというクラスのインスタンス
### クエリパラメーターをスラッシュ(“/”)に変更する
/hello/urls.py
urlpatterns = [ path('<int:id>/<nickname>', views.index, name='index'), ]
/hello/views.py
def index(request, id, nickname): result = 'your id: ' + str(id) + ', name: "' \ + nickname + '".' return HttpResponse(result)
– 文末のバックスラッシュ(“\”)は見かけの改行