장고의 템플릿 기능 사용하기
개요
이 기사는 초보자 자신이 RESTful API와 swift로 iPhone 용 쿠폰 전달 서비스를 개발한 절차를 차례로 기사로하고 있습니다. 기술 요소를 하나씩 조사하면서 실장했기 때문에 매우 먼 실장이 되고 있습니다.
Django의 템플릿 기능은 본래 불필요합니다만, 학습을 위해서 시도하기로 합니다. 이전 (초보자용) Django로 간단한 webAPI를 만들어 봅니다. 에서 만든 코드를 기반으로 합니다.
참고
Python Django 초입문 카마타 츠야노
환경
Mac OS 10.15
VSCode 1.39.2
pipenv 2018.11.26
파이썬 3.7.4
장고 2.2.6
webAPI 사양
쿠폰 코드를 URL로 요청하면 쿠폰 코드에 연결되는 쿠폰의 내용을 템플릿으로 표시합니다.
절차
(초보자용) Django로 간단한 webAPI를 만들어보세요 에서 작성한 코드에 다음의 수정을 합니다.
장고의 기능을 사용하기 위해 애플리케이션 등록
프로젝트 이름 폴더 아래의 settings.py의 INSTALLED_APPS에 앱 이름 (coupon)을 추가하기 만하면됩니다.
settings.py
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'coupon', #追加した行
]
템플릿 html 파일 만들기
coupon
디렉토리 아래에 templates
디렉토리를 만들고 templates
디렉토리 아래에 coupon
디렉토리를 만듭니다.(django의 파일 참조의 사양상, 복수의 index.html 파일을 작성했을 때를 고려해 디렉토리를 이중으로 하는 것이 추천되고 있다.)
만든 coupon 디렉토리에 index.html을 만듭니다. 쿠폰의 이름은 만일 아미고 쿠폰입니다.
index.html
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="utf-8">
<title>アミーゴクーポン</title>
</head>
<body>
<h1>アミーゴクーポン</h1>
<p>
<ul>
<li>クーポンコード:{{coupon_code}}</li>
<li>特典:{{coupon_benefits}}</li>
<li>有効期限:{{coupon_deadline}}</li>
<li>{{message}}</li>
</ul>
</p>
</body>
</html>
render 함수가 템플릿에 값을 보낼 수 있도록 views.py 수정
아래와 같이 수정합니다.
views.py
from django.shortcuts import render
from django.http import HttpResponse
# Create your views here.
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,
}
return render(request, 'coupon/index.html', params)
동작 확인
변경 사항을 저장한 후 django 웹 서버를 시작하고 브라우저에서 다음 URL에 액세스합니다.
http://127.0.0.1:8000/coupon/?coupon_code=0001
coupon_code의 요청을 0002, 0007로 변경해보십시오.
이상입니다.
다음 번에는 향후 코드 개조에 대비하여 영어로 관리할 수 있도록 합니다.
Reference
이 문제에 관하여(장고의 템플릿 기능 사용하기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/Ajyarimochi/items/9d64b13321f0779fc986텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)