2016-09-25 4 views
0

데이터베이스와 상호 작용하는 간단한 장고 응용 프로그램을 만들려고합니다. 하지만 URL에 하나 이상의 매개 변수를 전달하는 데 문제가 있습니다. 분명히URL에 여러 개의 인수를 전달하십시오.

name = request.GET.get('n', '') 
x = request.GET.get('x', '') 
y = request.GET.get('y', '') 
z = request.GET.get('z', '') 

내가 잘못하고 있어요 : views.py 내가 매개 변수를 얻을 내에서 다음

127.0.0.1:8000/REST/insert/?n=test/?x=2/?y=2/?z=True 

그리고 :

내가 이런 식으로 수행 인수를 전달하려면 . 어떻게 해결할 수 있습니까?

+0

왜 ar입니까? 수동으로 URL을 만드시겠습니까? –

+0

Google 봇이 사이트를 크롤링하고 해당 링크를 방문하여 잘못된 레코드를 데이터베이스에 추가 할 때까지 정상적으로 작동합니다. POST가 존재하는 이유가 있습니다 ... – Basic

답변

2

쿼리 매개 변수 사이의 구분 기호는 슬래시와 물음표 (첫 번째 제외) 대신 & 자 여야합니다.

/?n=test/?x=2/?y=2/?z=True 

/?n=test&x=2&y=2&z=True 

주의해야한다 : 나는 당신이 당신의 URL을 그것에서 "삽입"이후 여기에 쿼리 매개 변수를 사용해야합니다 실제로 모르겠어요. 만약 당신이 정말로 데이터베이스에 물건을 넣으려고한다면 이것은 최소한 게시물 데이터로서의 게시물 요청을 통해 이루어져야합니다.

1

뭘 원하는지 안전하지 않습니다. 삽입 작업을 수행하기 때문에 요청 유형은 POST 여야하며 json으로 정보를 보내야합니다.

데이터를 json으로 쓰고 요청 본문에 넣기 만하면됩니다.

보기에서;

import json 
def your_view(request): 
    body_unicode = request.body.decode('utf-8') 
    data = json.loads(body_unicode) # This is a dictionary. 
0

먼저, 그것은해야 ,

URL (R '^ REST/삽입/$를'당신이 보내는 PARAMS을 허용하도록 urls.py 파일을 편집해야 views.YourFuntion, 이름 = '를-fn을'

둘째 127.0.0.1:8000/REST/insert/?n=test은 & & X = 2, Y = 2, Z &을 qustion 표시를 교체하고 이런 &와 슬래시) = TRUE

관련 문제