Djangoのテンプレートでクエリパラメータを表示したい場合です。
クエリ例1:https://example.com/?preview=ok&update=true&id=123
上記の例ようなクエリパラメータの場合、一つずつ取得するときは以下のようにします。
{{ request.GET.preview }} ⇒ ok
{{ request.GET.update }} ⇒ true
{{ request.GET.id }} ⇒ 123
一覧を表示したいときは以下のようにします。
{% for key, value in request.GET.items %}
<p>{{ key }}: {{ value }}</p>
{% endfor %}
表示結果
preview: ok
update: false
id: 123
注意点としては、以下のようにパラメータに重複がある場合です。
クエリ例2:https://example.com/?preview=ok&update=true&id=123&id=xyz
この場合、{{ request.GET }} は
<QueryDict: {'preview': ['ok'], 'update': ['true'], 'id': ['123', 'xyz']}></QueryDict:>
のようなQueryDictなのですが、
{{ request.GET.id }} は リスト ['123', 'xyz'] になるわけではなく、後ろの'xyz'しか取得できません。
{{ request.GET.id }} ⇒ xyz