Templates 폴더 안에 html 파일을 생성하고 Django의 템플릿 문법을 알아보자.
1. 템플릿 만들기(html)

1-1. templates/base.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>{% block title %}{% endblock %} | spartaSNS</title>
<!-- Bootstrap CSS -->
# 생략
</style>
</head>
<body>
<nav class="navbar navbar-expand-lg navbar-light bg-light">
<div class="container">
# 생략 - 상단 nav바 내용
</div>
</nav>
{% block content %}
{% endblock %}
</body>
</html>
1-2. templates/user/signup.html
{% extends 'base.html' %}
{% block title %}
회원가입
{% endblock %}
{% block content %}
<div class="container">
<div class="wrap">
<h2 class="title-center"> 회원가입 </h2>
<form class="form-area">
<div class="form-group mt-2 mb-2">
<label for="username">이름</label>
<input type="text" class="form-control" id="username" name="username">
</div>
# 생략
</form>
</div>
</div>
{% endblock %}
2. 템플릿 문법 : html에서 Python 언어를 사용할 수 있게 하여 작업을 수월하게 도와주는 언어
2-1. 상속
- 상속하는 부모 html 에서 {% block title %} {% endblock %} 를 사용하여 자식의 title을 가져옴
- 상속받는 자식 html 에서 {% extends 'base.html' %} 를 사용하여 부모html을 가져옴
2-2. 변수 : views에서 templates으로 객체를 전달
- 사용 형식 : {{ Variables.Variables}}
- 변수 속성 접근은 닷표현식으로 사용
2-3. 필터 : 변수의 값을 특정 형식으로 변환
- 사용 형식 : 파이프( | ) 를 사용
- {{ Variables | lower }} ==변수값을 소문자로 변경
- {{ Variables | length }} == 변수값의 길이 반환
- {{ Variables | default:"nothing" }} == 변수값이 없는 경우 nothing을 출력
2-4. 태그 : python 언어를 사용하여 기능 구현
- 사용 형식 : {% tag %}
- {% for Var in Vars %} {% endfor %} == 반복문 구현
- {% if Var %} {% elif %} {% else %} {% endif %} == 조건문 구현
- {% csrf_token %} == form 태그 첫줄에 사용되며 토큰값의 유효성을 검증
- {% with Var = vars.var %} {% endwith %} == 특정 값을 변수에 저장가능
- 2-1 상속문 참조
참조문서 :
https://docs.djangoproject.com/ko/3.1/topics/templates/
템플릿 언어를 잘 활용하여 파일 분리 및 템플릿 작성을 편리하게 해보자.
'Python > Django' 카테고리의 다른 글
| HTTP method == 'GET' , 'POST' (0) | 2022.05.31 |
|---|---|
| Django 분리된 파일을 이어보자. (0) | 2022.05.30 |
| Django 자체 기능 Admin 맛보기! (0) | 2022.05.29 |
| Django 프로젝트 구조를 구성하고 DB에 연결하자. (0) | 2022.05.27 |
| PYthon의 Django를 알아보자! (0) | 2022.05.26 |