□ render함수와 template 파일 관계
○ 웹사이트 개발시 파이썬 코드와 데이터를 템플릿 파일로 만들어주는 함수
○ 쉽게말해 HTML 로 변환해서 적용해주는 함수
○ 결국 HTML 파일로 리턴 by using render
○ 리턴한 HTML 파일을 템플릿(Template) 이라고 함
○ but, 템플릿(Template)이 HTML 파일인 것은 아님
○ 이러한 템플릿 파일은 대부분 프레임워크에서도 마찬가지인데 프레임워크 전용파일의 개념임.
return render(request,"템플릿파일 경로")
○ 장고에서만 사용할 수 있는 문법(또는 태그)등을 이러한 템플릿에 적용 → 일반적인 HTML파일이 아님.
○ 당연히 템플릿도 규칙과 최소한의 문법(템플릿 태그라 불리우는 것들)이 존재.
□ 템플릿 파일의 목적(용도)
○ 뷰페이지 처리
○ 개발과 디자인의 분리
○ 개발자 코드와 디자이너 코드의 분리(HTML, CSS)
○ 다른 프레임워크들에서도 보통 template(s) 이라는 폴더명을 만들어서 템플릿 폴더로 인식시켜서 사용.
□ 템플릿(template) 폴더 만들기
○ 첫번째 : 프로젝트 루트 폴더에 templates 폴더를 만들어서 사용 → 상휘 폴더 settings.py → 템플릿경로 추가하여 사용
○ 두번째 : **생성한 앱(APP) 폴더 바로 하위에다가 → templates 폴더를 만들어서 사용 → 앱별로 템플릿 사용이 가능.
▶ 즉, onememos 앱의 경우 하위에 templates 폴더를 생성하면 별다른 설정없이 바로 템플릿 디렉토리 인식.
▶ render 코딩이 끝나면 서버 재시작 py manage.py runserver
from django.shortcuts import render
from django.http import HttpResponse #해당 페이지에대한 응답관련 라이브러리
from .models import *
def main(request): #requests에 주소가 매게변수로 들어감 / index 또는 main으로 기재해도됨
#요청에 따른 응답으로 뿌려주겠음
#return HttpResponse("OneMemos!Hello, World!:-)"
return render(request, "main.html") #templates>main.html을 틀어놓은다.
def createMemo(request): #requests에 주소가 매게변수로 들어감 / index 또는 main으로 기재해도됨
#요청에 따른 응답으로 뿌려주겠음
#방식으로는 Get과 Post 방식이있음 ▷ request.GET, request.POST 등 ▷ 사전형 데이터
#memoContent = request.GET["memoContent"] memocontent 데이터인자를 받아 get한 후 페이지 로드
#/onememos/createMemo/?memoContent=데이터값 형태의 url
# memoContent = request.GET["memoContent"]
memoContent = request.POST["memoContent"]
memoName = request.POST["memoName"]
memoEmail = request.POST["memoEmail"]
return HttpResponse("Create Memo = "+ memoContent + memoName + memoEmail)
'Python' 카테고리의 다른 글
앱(App) 생성 및 Urlpatterns 정의 (0) | 2024.04.11 |
---|---|
[Python] 전역변수, 지역변수 (0) | 2023.11.01 |