如何在 Django 中获取所有这些 url 参数(1、12-18、5、生日快乐)?
https://domain/method/?1='12-18'&5='Happy birthday'
我已经尝试过:
parameter = request.GET.get("1", "")
但我只得到12-18。
第二个参数是
5
,所以访问'Happy birthday'
:
request.GET.get('5', '')
请注意,此处的字符串将包含单引号 (
'…'
) 作为字符串的 content。所以通常这应该在不带引号的情况下完成。
您可以通过以下方式获取键值对列表:
>>> dict(request.GET)
{'1': ["'12-18'"], '5': ["'Happy birthday'"]}
这将使用键作为字典的键,并映射到值的列表
,因为单个键可以在查询字符串中出现多次,从而映射到多个值。
https://example.com/?fruits=apple&meat=beef
然后就可以得到
views.py
中的所有参数了,如下图。 *
我的回答解释了如何在Django中获取
GET
请求值:# "views.py"
from django.shortcuts import render
def index(request):
print(list(request.GET.items())) # [('fruits', 'apple'), ('meat', 'beef')]
print(list(request.GET.lists())) # [('fruits', ['apple']), ('meat', ['beef'])]
print(request.GET.dict()) # {'fruits': 'apple', 'meat': 'beef'}
print(dict(request.GET)) # {'fruits': ['apple'], 'meat': ['beef']}
print(request.META['QUERY_STRING']) # fruits=apple&meat=beef
print(request.META.get('QUERY_STRING')) # fruits=apple&meat=beef
return render(request, 'index.html')
然后就可以得到
index.html
中的所有参数,如下图:
{# "index.html" #}
{{ request.GET.dict }} {# {'fruits': 'apple', 'meat': 'beef'} #}
{{ request.META.QUERY_STRING }} {# fruits=apple&meat=beef #}