Django中如何使用request.GET获取所有URL参数?

问题描述 投票:0回答:2

如何在 Django 中获取所有这些 url 参数(1、12-18、5、生日快乐)?

https://domain/method/?1='12-18'&5='Happy birthday'

我已经尝试过:

parameter = request.GET.get("1", "") 

但我只得到12-18。

python python-3.x django get url-parameters
2个回答
5
投票

第二个参数是

5
,所以访问
'Happy birthday'

request.GET.get('5', '')

请注意,此处的字符串将包含单引号 (

'…'
) 作为字符串的 content。所以通常这应该在不带引号的情况下完成。 您可以通过以下方式获取键值对列表:

>>> dict(request.GET) {'1': ["'12-18'"], '5': ["'Happy birthday'"]}

这将使用键作为字典的键,并映射到值的
列表

,因为单个键可以在查询字符串中出现多次,从而映射到多个值。


0
投票

https://example.com/?fruits=apple&meat=beef

然后就可以得到
views.py

中的所有参数了,如下图。 *

我的回答
解释更多: # "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 #}

© www.soinside.com 2019 - 2024. All rights reserved.