django 자습서 - 매개변수 전송(GET 방식)

5448 단어
django 자습서 - 매개변수 전송(GET 방식)
웹 개발 과정에서 가장 흔히 볼 수 있는 두 가지 매개 변수 전달 방식은 GET와 POST이다. 오늘 우리는 Django에서 GET를 어떻게 사용하여 매개 변수 전달을 하는지 알아보자.
GET 참조 ##
Django에서 GET 매개 변수는 두 가지 전달 방식을 가지는데 하나는 전통적인'?'형식 전참, 정규 매칭 매개 변수 전달.
전통 전참
웹에서 가장 흔히 볼 수 있는 전참 방식은'?'물음표 뒤 매개변수(예:/plist/?p1=china&p2=2012, 그 중에서 p1,p2는 키 값이고'='다음에 전달되는 매개 변수 값으로 백엔드에서 키 값을 통해 대응하는 매개 변수 값을 얻는다.다음은 Django에서 이 전삼 방식을 어떻게 사용하는지 예를 통해 간단하게 보여 드리겠습니다.우리 먼저 새 공사를 하나 신설하자
 django-admin.py startproject PostParams

프로젝트 디렉터리에 새 앱을 만듭니다.
django-admin.py startapp app

앞서 여러분께 소개하지 않았지만django 프로젝트의 구조는 프로젝트-->app입니다. 같은 프로젝트에서 같은 기능이나 같은 기능을 가진 모듈을 하나의moudle, 즉 app로 봉인했습니다. 뒤에 있는 블로그 프로젝트에서 여러분은 이 개념을 간단하게 이해할 수 있습니다.그리고 세팅에서.py의 INSTALLEDAPPS는 다음과 같은 코드로 새 app를 추가합니다.
INSTALLED_APPS = (
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'app',#your app
)

그리고 app 디렉터리에views.py 다음 코드 추가
from django.http import HttpResponse
from django.shortcuts import render

# Create your views here.
def params_test(request):
    str=request.GET.get('str','')
    page=request.GET['page']
    return HttpResponse('str='+str+'&page='+page)

그리고 urls에서.py에서 설정 루트 코드는 다음과 같습니다
from django.conf.urls import patterns, include, url
from django.contrib import admin

from app.views import params_test

urlpatterns = patterns('',
    # Examples:
    # url(r'^$', 'PostParams.views.home', name='home'),
    # url(r'^blog/', include('blog.urls')),

    url(r'^admin/', include(admin.site.urls)),
    url(r'^params_test/$',params_test)
)


데이터베이스 생성
python manage.py migrate  #django1.7   
python manage.py syncdb #django   1.7  

그런 다음 서버를 실행합니다.
python manage.py runserver

브라우저 열기 127.0.0.1:8000/params 입력test/?str=hhh&page=1, 우리가 전달하는 매개 변수를 볼 수 있습니다. Django가 GET 매개 변수를 전달하는 방식은 매우 간단합니다. 백엔드에서 우리는 Request의 GET 사전을 통해 대응하는 매개 변수 값을 얻을 수 있습니다. 주의해야 할 것은 얻은 매개 변수는 모두 문자열 유형이고 서로 다른 응용 장면에 대해 전환해야 합니다.정규 표현식 참조 - Django의 루트 시스템은 정규 표현식을 통해 일치한다. 즉urls.py는 서로 다른 정규 표현을 설정하여 대응하는view 함수에 전달합니다.
from django.conf.urls import patterns, include, url
from django.contrib import admin

from app.views import params_test

urlpatterns = patterns('',
    # Examples:
    # url(r'^$', 'PostParams.views.home', name='home'),
    # url(r'^blog/', include('blog.urls')),

    url(r'^admin/', include(admin.site.urls)),
    url(r'^params_test/$',params_test)
)


요청한 URL을 정규 일치시킵니다. 정규 표현식 '^params테스트/$, 보기 함수paramstest. Django의 루트 시스템은 정규 일치뿐만 아니라 정규 표현식을 통해 매개 변수를 전달할 수 있다. 다음은 구체적인 사용법을 보여 준다.우리는 방금 새로 만든 app views에 계속 있습니다.py에 함수가 새로 추가되었습니다. 코드는 다음과 같습니다.
def params_test_reg(request,str,page):
    return HttpResponse('str='+str + '&page=' + page)

그리고 우리는 urls를 수정합니다.py 코드는 다음과 같습니다
from django.conf.urls import patterns, include, url
from django.contrib import admin

from app.views import params_test, params_test_reg

urlpatterns = patterns('',
    # Examples:
    # url(r'^$', 'PostParams.views.home', name='home'),
    # url(r'^blog/', include('blog.urls')),

    url(r'^admin/', include(admin.site.urls)),
    url(r'^params_test/$',params_test),
    url(r'^params_test_reg/str(\w+)page(\d+)/$',params_test_reg),
)


서버를 다시 실행하고 브라우저에서 입력http://127.0.0.1:8000/params_test_reg/strstrvaluepage1/백그라운드에서 전달된 매개 변수를 정확하게 수신한 것을 볼 수 있다.url 정규 표현식이 '()' 를 통해 전달되는 매개 변수와 일치하는 것을 볼 수 있습니다. 예를 들어 '(\w+)' 는 일치하는 문자열을 나타냅니다. 정규 표현식에 대해 잘 모르면 정규 표현식을 먼저 보고 보기 함수의 인삼에 대응하는 수량의 매개 변수를 추가하면 (보기 함수의 인삼에 받아들여야 함) 백엔드에서 전송된 매개 변수를 받아들일 수 있습니다. 그는 대응하는 순서에 따라 순서대로 값을 부여합니다.물론 우리도 매개 변수를 매칭하는 과정에서 대응하는 형삼 이름을 지정할 수 있으며 다음에 코드를 계속 볼 수 있다.urls 수정.py는 다음과 같습니다.
from django.conf.urls import patterns, include, url
from django.contrib import admin

from app.views import params_test, params_test_reg

urlpatterns = patterns('',
    # Examples:
    # url(r'^$', 'PostParams.views.home', name='home'),
    # url(r'^blog/', include('blog.urls')),

    url(r'^admin/', include(admin.site.urls)),
    url(r'^params_test/$',params_test),
    url(r'^params_test_reg/str(?P\w+)page(?P\d+)/$',params_test_reg),
)


그런 다음 params 수정test_reg 함수 참조 순서
def params_test_reg(request,page,str):
    return HttpResponse('str='+str + '&page=' + page)

서버를 재부팅하고 브라우저에 입력http://127.0.0.1:8000/params_test_reg/strstrvaluepage1/, 매개변수가 제대로 수신되었는지 확인할 수 있습니다.자, 이 섹션은 여기까지 하겠습니다. 이 섹션을 통해python에서 GET를 사용하여 매개 변수를 전달하는 방법을 배웠습니다. 다음 섹션에서는 POST 매개 변수의 전달과 폼의 제출을 계속 연구하겠습니다.
최근에 알리페이 애플릿 시합에 참가하려면 방문량이 필요합니다. 관람객 여러분께서 틈이 나면 아래의 말을 복사하여 알리페이를 열고 검색창에 붙여 넣으십시오. 여러분의 지지에 감사드립니다.
#JvCmawp74I1#       ,       ,           

좋은 웹페이지 즐겨찾기