Django 프레임 워 크 의 사용 튜 토리 얼 경로 가 응답 을 요청 하 는 방법
루트 는 프로젝트 의 디 렉 터 리 에 정 의 될 수도 있 고,각 응용 프로그램 에서 응용 프로그램의 루트 를 저장 할 수도 있 습 니 다.메 인 파일 urls 에서 include()를 사용 하여 각 응용 프로그램의 하위 루트 를 포함 하 는 데 이 터 를 사용 합 니 다.
경로 분석 순서
Django 가 요청 을 받 은 후 주 경로 파일 urlpatterns 의 경로 에서 위 에서 아래로 순서 로 찾 습 니 다.include 가 포함 되 어 있 으 면 하위 응용 url 의 urlpatterns 에서 찾 습 니 다(위 에서 아래로)
루트 의 끝 사선
Django 는/끝 경로 가 있 습 니 다.사용 자 는 추가/하지 않 아 도/끝 경로 로 바로 바 꿀 수 있 습 니 다.
경로 이름(같은 이름 으로 충돌 하 는 것 을 피 할 수 있 습 니 다)
예:
#
from django.conf.urls import url,include
from django.contrib import admin
import django_test.urls
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^users/',include(django_test.urls ,namespace='users'))
]
reverser 반분 석(하위 응용 경로 의 이름 이 필요 합 니 다)주의 점:
post 는 post man 테스트 도구 에서 테스트 해 야 할 것들 을 요청 합 니 다.
CSRF 보호 주석 을 먼저 달 아 주세요.
서버 에 매개 변 수 를 전달 하 는 방식
URL:URL 에 직접 데 이 터 를 전달 합 니 다.
검색 문자열:key 1=value 1&key 2=value 2;
요청 체:body 에서 데 이 터 를 전달 합 니 다.폼,json,xml 이 있 습 니 다.
요청 헤더:http 메시지 헤더 에서
URL 매개 변수 전달
정의 되 지 않 은 매개 변수 순서 전달
하위 응용 경로 설정
urlpatterns = [
#
url(r'^index/$',views.index,name='index'),
url(r'^show/$',views.show,name='show'),
url(r'^parameter/([a-z]+)/(\d{4})$',views.parameter,name='parameter'),
]
정의 보기 함수
# name, age
def parameter(request,name, age):
print('age=%s'%age)
print('name=%s' % name)
return HttpResponse('OK')
이름 매개 변 수 는 이름 에 따라 전 달 됩 니 다.하위 경로
urlpatterns = [
#
url(r'^index/$',views.index,name='index'),
url(r'^show/$',views.show,name='show'),
url(r'^parameter/(?P<name>[a-z]+)/(?P<age>\d{4})$',views.parameter,name='parameter'),
]
보기 함수
# age name
def parameter(request,age, name):
print('age=%s'%age)
print('name=%s' % name)
return HttpResponse('OK')
검색 문자열(전달 매개 변수)메모:검색 문자열 은 요청 방식 을 구분 하지 않 습 니 다.즉,클 라 이언 트 가 POST 방식 으로 요청 하면 request.GET 를 통 해 요청 한 검색 문자열 데 이 터 를 가 져 올 수 있 습 니 다.
하위 경로
url(r'^qust/$',views.qust),
보기 함수
def qust(request):
a = request.GET.get('a')
b = request.GET.get('b')
alist = request.GET.getlist('a')
print(a) # 3
print(b) # 2
print(alist) # ['1', '3']
return HttpResponse('OK')
실행(뒤에 추가)요청 체(전달 매개 변수)
폼 클래스
경로 설정
url(r'^get_form/$', views.get_form)
보기 함수
def get_form(request):
name = request.POST.get('name')
age = request.POST.get('age')
alist = request.POST.getlist('name')
print(name)
print(age)
print(alist)
return HttpResponse('OK')
운행 하 다.비표 류
경로
url(r'^get_body_json/$', views.get_body_json),
보기
def get_body_json(request):
json_str = request.body
json_str = json_str.decode() # python3.6
req_data = json.loads(json_str)
print(req_data['a'])
print(req_data['b'])
return HttpResponse('OK')
운행 하 다.요청 헤더(전달 매개 변수)
request.META 속성 을 통 해 요청 헤더 의 데 이 터 를 가 져 올 수 있 습 니 다.
경로
url(r'^get_head/$', views.get_head)
보기 함수
def get_head(request):
print(request.META['CONTENT_TYPE'])
return HttpResponse('OK')
운행 하 다.흔 한 요청 헤더
CONTENT_LENGTH
C The length of the request body (as a string).CONTENT_TYPE
C The MIME type of the request body.HTTP_ACCEPT
C Acceptable content types for the response.HTTP_ACCEPT_ENCODING
C Acceptable encodings for the response.HTTP_ACCEPT_LANGUAGE
C Acceptable languages for the response.HTTP_HOST
C The HTTP Host header sent by the client.HTTP_REFERER
C The referring page, if any.HTTP_USER_AGENT
C The client's user-agent string.QUERY_STRING
C The query string, as a single (unparsed) string.REMOTE_ADDR
C The IP address of the client.REMOTE_HOST
C The hostname of the client.REMOTE_USER
C The user authenticated by the Web server, if any.REQUEST_METHOD
C A string such as "GET"
or "POST"
.SERVER_NAME
C The hostname of the server.SERVER_PORT
C The port of the server (as a string).호응
# content:
# status_code: HTTP
# content_type: MIME
from django_http import HttpResponse
def index(request):
return HttpResponse(' Gaidy ', status=202)
JSonResponse(돌아 오 는 json 데이터)
from django.http import JsonResponse
def index(request):
return JsonResponse({'name': 'gaidy', 'age': '25'})
실행 결과리 디 렉 션 리 디 렉 션
from django.shortcuts import redirect
# django_test
def show(request):
#
return redirect(reverse('django_test:index'))
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Django 라우팅 계층 URLconf 작용 및 원리 해석URL 구성(URLconf)은 Django가 지원하는 웹 사이트의 디렉토리와 같습니다.그것의 본질은 URL과 이 URL을 호출할 보기 함수 사이의 맵표입니다. 위의 예제에서는 URL의 값을 캡처하고 위치 매개 변수로...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.