2014-07-15 5 views
1

1 개의 매개 변수를 얻는 방법을 논의하는 데는 많은 의문점이 있습니다. 그러나 모든 매개 변수를 얻고 순서를 유지하는 방법은 무엇입니까?Django views.py의 모든 URL 매개 변수를 캡처합니까?

이 방법은 다음과 같습니다. request.GET.get('q', '')을 사용하면 매개 변수를 하나만 가져올 수 있습니다.

URL에 POST 요청을 캡쳐 한 다음 URL에 매개 변수를 추가하고 유효성 및 소스를 확인하기 위해 바로 전송해야합니다. 궁금하신 분은 PayPal IPN입니다.

감사합니다.

request.META['QUERY_STRING'] 

https://docs.djangoproject.com/en/dev/ref/request-response/#django.http.HttpRequest.META :

+2

주문은 게시물이나 요청에 중요하지 않습니다. –

+0

예, PayPal IPN 설명서를 읽으십시오. – User

답변

1

으로 @Daniel Roseman 당신은 아마 당신은 단지 다른 방법은 원시 쿼리 문자열을 얻을 수있는 request.GET DICT

을 사용할 수있는 경우 순서를 보존 할 필요가 없습니다 말했다

0

Daniel Roseman과 같이 POST 또는 GET 요청 매개 변수 사이에는 순서가 중요하지 않아야합니다. 그들보다는 key - value 쌍이라고 생각하십시오.

당신이 질서를 유지 아마도 당신의 POSTvalue 같은 목록을 통과하고 장고를 잡아하려면 :

myData = request.POST.get("myQuery") 

특히, POST 요청 쿼리 문자열을 사용하지 마십시오 * (see here). POST는 GET이 쿼리 문자열을 사용하는 동안 요청 본문을 사용합니다. 보안 측면에서 볼 때 이는 중요한 고객 정보가 URL에 뻔뻔스럽게 표시되지 않는다는 것을 의미합니다. 결제를 처리 할 때는 특히이 중요합니다.

업데이트 : * 분명히 POST 을 사용할 수 있지만 실제로는 안됩니다. See this SO post for more.

0

paypal ipn

예, 순서는 여기에 중요하다. 이것이 내가 사용하려고하는 것입니다 :

newParameteres = 'cmd=_notify-validate&' + self.request.POST.urlencode() 
req = urllib2.Request("http://www.paypal.com/cgi-bin/webscr", newParameteres) 
관련 문제