>  기사  >  백엔드 개발  >  Django URL에서 매개변수를 전달하는 방법

Django URL에서 매개변수를 전달하는 방법

高洛峰
高洛峰원래의
2017-02-27 16:54:402142검색

1 매개변수 없음

구성 URL 및 보기는 다음과 같습니다.

(r'^hello/$', hello)
 
def hello(request):
  return HttpResponse("Hello World")

http://127.0을 방문하세요. .0.1 :8000/hello, 출력 결과는 "Hello World"입니다.

2
매개변수를 전달하여 다음과 같이 URL과 해당 뷰를 구성합니다.

(r'^plist/(.+)/$', helloParam)
 
def helloParam(request,param1):
  return HttpResponse("The param is : " + param1)

http://127.0.0.1:8000/plist/china를 방문하면 출력 결과는 "The param is : china"입니다.

3 여러 매개변수 전달
장 참조 두 번째 경우에는 두 개의 매개변수를 전달하는 예를 들어보겠습니다. 구성 URL과 해당 보기는 다음과 같습니다. 정규식을 통해 URL에 두 개의 매개변수가 지정됩니다.

(r'^plist/p1(\w+)p2(.+)/$', helloParams)
 
def helloParams(request,param1,param2):
  return HttpResponse("p1 = " + param1 + "; p2 = " + param2)

액세스 http: //127.0.0.1:8000/plist/p1chinap22012/출력은 "p1 = china; p2 = 2012"

에서 볼 수 있듯이 여기서 보기의 매개변수는 URL의 정규 표현식을 기반으로 하며 순서대로 일치하고 자동으로 할당됩니다. 이렇게 하면 원하는 수의 매개변수를 전송할 수 있지만 충분히 유연하지 않으며 URL이 혼란스러워 보이고 정기적으로 일치하므로 경우에 따라 오류가 발생하기 쉽습니다.

4 전통적인 "?"를 통해 매개변수를 전달합니다.

예를 들어 http://127.0.0.1:8000/plist/?p1=china&p2=2012에서 '?' url은 매개변수 전달을 의미하며, 두 개의 매개변수 p1과 p2가 여기에 전달됩니다.

이런 방식으로 매개변수를 전달하면 일반적인 매칭 오류로 인해 발생하는 문제가 발생하지 않습니다. Django에서는 이러한 매개변수의 구문 분석이 request.GET.get 메소드를 통해 획득됩니다.

구성 URL 및 해당 보기는 다음과 같습니다.

(r'^plist/$', helloParams1)
 
def helloParams(request):
  p1 = request.GET.get('p1')
  p2 = request.GET.get('p2')
  return HttpResponse("p1 = " + p1 + "; p2 = " + p2)

출력 결과는 "p1 = china; p2 = 2012"입니다

Django URL의 매개변수 전달 방법에 대한 더 많은 글은 PHP 중국어 홈페이지를 주목해주세요!


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.