🙆

[Django] ViewでURLクエリパラメータを受け取る方法

2021/05/02に公開

DjangoのViewでURLクエリパラメータを受け取りたい

URLクエリパラメータ, クエリストリングを受け取る方法をまとめます。

[解決] self.request.GET.get('パラメータ名')

self.request.GETから取り出せばOKです。

サンプルコード

viewファイル
from django.views import generic


class MyView(generic.TemplateView):
    template_name = 'index.html'

    def get_context_data(self, **kwargs):
        context = super().get_context_data(**kwargs)
        name = self.request.GET.get('name')
        context['name'] = name
        return context

着目すべきは以下の部分

name = self.request.GET.get('name')

これで、localhost:8000/?name=aaaのnameを受け取ることができます。

[余談] self.request.GETの型

type(self.request.GET)を実行したら以下の結果が得られました。参考までに。

>>> type(self.request.GET)
<class \'django.http.request.QueryDict\'>	

Discussion