# HTML
## HTML을 저장할 디렉터리 생성하기
- HTML은 프로젝트의 templates 디렉터리에 저장한다.
- templates 디렉터리는 프로젝트 최상단 경로에서 생성한다.
## 메인 페이지와 버거 목록의 HTML 구현하기
- templates 디렉터리를 생성했으면, 해당 디렉터리에 main.html과 burger_list.html 두 개의 HTML 파일을 만들고 각각의 파일에 다음과 같이 내용을 입력한다.
- 먼저, 메인 페이지는 "안녕하세요, pyburger입니다"라는 문자열이 크게 나타나도록 <h1> 태그를 사용한다.
## templates/main.html
<!doctype html>
<html lang="ko">
<body>
<h1>안녕하세요, pyburger입니다</h1>
</body>
</html>
- 버거 목록에서는 "pyburger의 햄버거 목록입니다"라는 문자열이 나타나도록 한다.
## templates/burger_list.html
<!doctype html>
<html lang="ko">
<body>
<h1>pyburger의 햄버거 목록입니다</h1>
</body>
</html>
# Django에 Template 설정하기
## templates 디렉터리를 Django가 인식할 수 있도록 설정하기
### BASE_DIR의 아래애 TEMPLATES_DIR 변수를 생성하기
## config/settings.py
# Build paths inside the project like this: BASE_DIR / 'subdir'.
BASE_DIR = Path(__file__).resolve().parent.parent
>>TEMPLAES_DIR = BASE_DIR / "templates"<< # 새 경로 할당
- BASE_DIR은 프로젝트 최상위 경로인 디렉터리를 가리킨다.
- TEMPLATES_DIR의 경로인 BASE_DIR/"templates"는 생성한 templates 디렉터리의 경로를 나타낸다.
### 생성한 변수를 TEMPLATES 항목의 "DIRS" 리스트에 추가하기
## config/settings.py
...
TEMPLATES = [
{
"BACKEND": "django.template.backends.django.DjangoTemplates",
"DIRS": [>>TEMPLAES_DIR<<], # Template을 찾을 경로 추가
"APP_DIRS": True,
"OPTIONS": {
"context_processors": [
"django.template.context_processors.debug",
"django.template.context_processors.request",
"django.contrib.auth.context_processors.auth",
"django.contrib.messages.context_processors.messages",
],
},
},
]
...
- TEMPLATES 아래의 "DIRS" 리스트에 있는 경로는 Django가 Template을 찾는 디렉터리들이다.
## main과 burger_list View 함수에서 Template 사용하기
- HttpResponse는 지정한 문자열을 브라우저에 돌려줄 때 사용하지만, HTML 파일을 돌려주지는 못한다.
- HTML 파일을 브라우저에 돌려주기 위해서는 django.shortcuts.render 함수를 사용한다.
## config/views.py
>>from django.shortcuts import render<< # render 함수를 import
def main(request):
>>return rendr(request, "main.html")<< # HttpResponse 대신 render 함수 사용
def burger_list(request):
>>return render(request, "burger_list.html")<< # HttpResponse 대신 render 함수 사용
- render 함수의 첫 번째 인수(argument)로는 View 함수에 자동으로 전달되는 request 객체를 지정해야 하며, 두 번째 인수에는 Template의 경로를 지정한다.
- Template의 경로는 settings.py에 지정한 TEMPLATES 설정의 DIRS에 추가한 디렉터리 경로(templates 디렉터리)를 기준으로 작성한다.
- http://127.0.0.1:8000/burgers/
728x90
'Django' 카테고리의 다른 글
[Django] 데이터베이스 마이그레이션 (0) | 2024.01.26 |
---|---|
[Django] Model 구성하기 (0) | 2024.01.26 |
[Django] View 사용하기 (0) | 2024.01.25 |
[Django] Django 설치와 프로젝트 생성 (0) | 2024.01.25 |