有很多讨论如何获得一个参数的问题,但是如何获取所有的参数并保留它们的顺序呢?
可以使用这种方式:request.GET.get('q', '')
来获取一个参数。
我需要捕获我的URL的POST请求,然后向URL添加一个参数,并将其发送回来以确认它的有效性和来源。 如果你好奇的话,这是为PayPal IPN而做的。
谢谢!
有很多讨论如何获得一个参数的问题,但是如何获取所有的参数并保留它们的顺序呢?
可以使用这种方式:request.GET.get('q', '')
来获取一个参数。
我需要捕获我的URL的POST请求,然后向URL添加一个参数,并将其发送回来以确认它的有效性和来源。 如果你好奇的话,这是为PayPal IPN而做的。
谢谢!
正如@Daniel Roseman所说,您可能不需要保留顺序,在这种情况下,您可以直接使用request.GET
字典。
或者您可以获取原始查询字符串:
request.META['QUERY_STRING']
https://docs.djangoproject.com/en/dev/ref/request-response/#django.http.HttpRequest.META
键
-值
对而不是列表。POST
中的value
传递,并在Django中获取它:myData = request.POST.get("myQuery")
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')
是的,在这里顺序很重要。这是我要使用的:
newParameteres = 'cmd=_notify-validate&' + self.request.POST.urlencode()
req = urllib2.Request("http://www.paypal.com/cgi-bin/webscr", newParameteres)