아 지 의 Sanic 튜 토리 얼 -- 04 요청 데이터
3693 단어 Sanic
당신 의 격려 는 내 가 전진 하 는 동력 입 니 다. 나 를 위해 칭찬 을 눌 러 주세요!
한 노드 가 요청 을 받 으 면 루트 함수 가 요청 대상 (Resquest Object) 을 전달 합 니 다.전 달 된 매개 변 수 는 대상 속성 으로 요청 대상 에 연 결 됩 니 다.
(1) json 데이터
sanic 역시 전단 에 json 매개 변 수 를 되 돌려 주 는 기본 기능 을 제공 합 니 다. 다음은 하나의 예 를 통 해 설명 하 겠 습 니 다.
from sanic.response import json
@app.route("/json")
def post_json(request):
return json({ "received": True, "message": request.json })
sanic 의 직접 dict 데이터 형식 (사전) 을 json 데이터 로 가공 하여 전단 에 되 돌려 주 는 것 이 편리 합 니 다.모든 데이터 개발 과 사전 형식 으로 포장 하여 되 돌 릴 수 있 습 니 다.
(2) args (사전 형식)
sanic 은 검색 문자열 을 빠르게 처리 하 는 기능 을 제공 합 니 다. 문자열 이 해석 되면 검색 문자열 은 사전 형식 으로 변 환 됩 니 다.다음은 간단 한 대 비 를 한다. 검색 문자열 은 다음 과 같다.
?key1=value1&key2=value2
분석 한 문자열 은 다음 과 같 습 니 다.
{'key1': 'value1'],'key2': 'value2']}
분 석 된 조회 매개 변 수 를 목록 으로 볼 수 있 습 니 다.
(3)raw_args (원본 매개 변수)
어떤 때 는 매개 변수 원본 url 조회 파 라 메 터 를 가 져 와 야 합 니 다. args 와 다른 것 은 raw 입 니 다.args 가 분석 한 사전 의 값 은 목록 형식 이 아니 라 간단 한 문자열 형식 입 니 다. 다음 과 같 습 니 다.
{'key1':'value1','key2':'value2'}
(4) file (파일 대상 사전)
전단 에서 배경 으로 파일 을 보 낼 때 보통 목록 을 통 해 보 내 는데 이 파일 의 대상 은 이름, 유형, 주체 의 구성 부분 을 가지 고 있 습 니 다.구체 적 인 예시 코드 는 다음 과 같다.
from sanic.response import json
@app.route("/files")
def post_json(request):
test_file = request.files.get('test')
file_parameters = {
'body': test_file.body,
'name': test_file.name,
'type': test_file.type,
}
return json({ "received": True, "file_names": request.files.keys(), "test_file_parameters": file_parameters })
상기 코드 는 전단 을 백 엔 드 로 보 낸 데 이 터 를 전단 데이터 에 되 돌려 줍 니 다.백 엔 드 는 get 을 통 해 파 라 메 터 를 가 져 온 후 데이터 파일 의 조합 을 하고 파일 사전 대상 을 사용 하 는 방식 으로 진행 합 니 다.
(5) form (사전 대상) - 폼 제출
from sanic.response import json
@app.route("/form")
def post_json(request):
return json({ "received": True, "form_data": request.form, "test": request.form.get('test') })
(6)body(bytes)
원본 body 라 는 속성 은 요청 데이터 에서 해당 하 는 원본 데 이 터 를 얻 을 수 있 으 며 데이터 형식의 방 해 를 고려 하지 않 아 도 됩 니 다.구체 적 인 코드 예제 의 다음 과 같다.
from sanic.response import text
@app.route("/users", methods=["POST",])
def create_user(request):
return text("You are trying to create a user with the following POST: %s" % request.body)
(7) 기타 request 대상 의 요청 매개 변수
명칭.
속뜻
헤더 (dict 형식)
요청 헤더 사전, 모든 요청 헤더 설명 포함
method (str 형식)
요청 방식 포함
ip (str 형식)
요청 원본 ip
port (str 형식)
요청 자 포트
소켓 (tuple 형식)
요청 자의 (ip, port)
app
응용 대상 의 처리 함수
url
요청 경로 정보
scheme
요청 프로 토 콜 (http / https)
host
요청 한 host (localhost: 8080)
path
요청 한 경로: / A / to / B
query_string
"foo = bar" 나 빈 문자열 "과 같은 문자열 을 조회 합 니 다.
uri_template
모듈 러 처리 함수
token
사용자 인증 의 시작 부분
요청 인 자 를 가 져 오 려 면 get 또는 getlist 를 사용 해 야 합 니 다. 일반적으로 request 의 RequestParameers 를 통 해 가 져 옵 니 다. 주의해 야 할 것 은 get 방법 은 목록 매개 변수의 첫 번 째 값 을 되 돌려 주 는 것 입 니 다. getlist 에서 가 져 온 전체 목록 의 값 입 니 다. 구체 적 인 예제 코드 는 다음 과 같 습 니 다.
from sanic.request import RequestParameters
args = RequestParameters()
args['titles'] = ['Post 1', 'Post 2']
args.get('titles') # => 'Post 1'
args.getlist('titles') # => ['Post 1', 'Post 2']
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
아 지 의 Sanic 튜 토리 얼 -- 04 요청 데이터sanic 의 직접 dict 데이터 형식 (사전) 을 json 데이터 로 가공 하여 전단 에 되 돌려 주 는 것 이 편리 합 니 다.모든 데이터 개발 과 사전 형식 으로 포장 하여 되 돌 릴 수 있 습 니 다. 전단...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.