【Python/Django】JSON 형식으로 응답을 하는 webAPI를 작성한다
개요
이 기사는 초보자 자신이 RESTful API와 swift로 iPhone 용 쿠폰 전달 서비스를 개발한 절차를 차례로 기사로하고 있습니다. 기술 요소를 하나씩 조사하면서 실장했기 때문에 매우 먼 실장이 되고 있습니다.
전회의 장고의 템플릿 기능 사용하기 로 만든 코드를 개조해, JSON 형식으로 응답하도록(듯이) 합니다. Django Rest Framework라고 하는 편리한 프레임워크가 존재합니다만, 우선은 구조를 이해하는 것을 목적으로 Django Rest Framework 등은 사용하지 않고 써 봅니다.
참고
파이썬 장고 입문 (6)
환경
Mac OS 10.15
VSCode 1.39.2
pipenv 2018.11.26
파이썬 3.7.4
장고 2.2.6
절차
views.py 수정
데이터를 json 형식으로 변환하기 위해 json 모듈을 가져옵니다.
코드에
import json
를 추가합니다.json.dumps
를 사용하여 구조체를 입력하고 json 형식의 문자열을 만드는 프로그램을 추가합니다. 구조체를 만드는 코드는 원래 코드의 params = { }
부분을 그대로 유용합니다.json 형식의 문자열을 만드는 코드를 추가합니다. 인수로서 구조체 데이터의
params
를 건네주고 있습니다.json_str = json.dumps(params, ensure_ascii=False, indent=2)
반환값은
HttpResponse
메소드로 단순히 Json 형식의 캐릭터 라인을 돌려줄 뿐입니다.return HttpResponse(json_str)
수정 후의
views.py
는 이쪽입니다.views.py
from django.shortcuts import render
from django.http import HttpResponse
import json #追加した
def coupon(request):
if 'coupon_code' in request.GET:
coupon_code = request.GET['coupon_code']
if coupon_code == '0001':
benefit = '1000円引きクーポン!'
deadline = '2019/10/31'
message = ''
elif coupon_code == '0002':
benefit = '10%引きクーポン!'
deadline = '2019/11/30'
message = ''
else:
benefit = 'NA'
deadline = 'NA'
message = '利用可能なクーポンが見つかりません'
params = {
'coupon_code':coupon_code,
'coupon_benefits':benefit,
'coupon_deadline':deadline,
'message':message,
}
#json形式の文字列を生成
json_str = json.dumps(params, ensure_ascii=False, indent=2)
return HttpResponse(json_str)
동작 확인
코드를 저장하고 장고 서버를 시작합니다.
터미널에서 curl 명령으로
http://127.0.0.1:8000/coupon/?coupon_code=0001
에 액세스하면 json에서 값을 얻을 수 있습니다.다음은 브라우저에서
http://127.0.0.1:8000/coupon/?coupon_code=0001
에 액세스하면 json 형식의 데이터가 표시되었습니다.이상입니다.
다음 번에는 쿠폰 정보를 응답하는 앱 측 구현 (swift)
Reference
이 문제에 관하여(【Python/Django】JSON 형식으로 응답을 하는 webAPI를 작성한다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/Ajyarimochi/items/492dccaff21cba567e43텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)