讨论如何获得1个参数有很多问题,但是如何获得所有参数,保留它们的顺序?
就是这样:request.GET.get('q', '')
获得1个参数。
我需要将POST请求捕获到我的URL,然后向URL添加一个参数,然后将其发回以确认其有效性和来源。如果您想知道,这适用于PayPal IPN。
谢谢!
答案 0 :(得分:3)
正如@Daniel Roseman所说,你可能不需要保留订单,在这种情况下你可以使用request.GET
dict
或者你可以获得原始查询字符串:
request.META['QUERY_STRING']
https://docs.djangoproject.com/en/dev/ref/request-response/#django.http.HttpRequest.META
答案 1 :(得分:1)
如Daniel Roseman所述,POST或GET请求参数之间的顺序不应该很重要;把它们想象成key
- value
对而不是列表。
如果你想维护秩序,那么可以将列表作为value
中的POST
传递给Django:
myData = request.POST.get("myQuery")
具体来说, POST请求不使用查询字符串* (see here)。 POST使用请求体,而GET使用查询字符串。请注意,从安全角度来看,这也意味着重要的客户信息不会公开显示在网址中 - 在处理付款时尤其非常重要。
更新:*显然,POST 可以使用查询字符串,但他们真的不应该这样做。 See this SO post for more
答案 2 :(得分:0)
是的,订单在这里很重要。这就是我将要使用的内容:
newParameteres = 'cmd=_notify-validate&' + self.request.POST.urlencode()
req = urllib2.Request("http://www.paypal.com/cgi-bin/webscr", newParameteres)