Til
Til 24.04.12 Django Template System
dini_dini
2024. 4. 12. 15:35
장고문서를 자주 참고 할것 - 어지간 하면 영어로
DTL - Django Template Language - 파이썬이 동작하는것이 아님
: 변수 필터 태그 주석
{{변수}}
{% tag %}
html
모든 태그는 {{ tags.0|upper }} -> tags 라는 바구니 0번째 텍스트를 대문자로
전에 넷플 프로젝트에서 불편했던점
html은 자꾸 늘어나는데
중복되는 코드들이 넘많았음
(ex : 헤더나 푸터 등등)
base.html을 쓰면 됨
{% extends 'base.html' %}
로 html을 시작해주면 됨
base.html
{% comment %} base.html {% endcomment %}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
{% block content %}
{% endblock content %}
</body>
</html>
-> 하위 템플릿에 상속 ㄱㄱ
- extends 태그로 상속할 상위템플릿 지정
- block 태그로 달라진 부분만 표시한다
<!-- users.html-->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<h1>Hi there~!!!!!</h1>
<div>welcome~~~</div>
</body>
</html>
위의 기존의 템플릿을
새롭게 쓴 uses.html
{% extends "base.html" %}
{% block content %}
<h1>Hi there~!!!!!</h1>
<div>welcome~~~</div>
{% endblock content %}
이렇게만 해도 화면이 잘 나옴
==>> 훨씬 깔끟라게 할수있을것같음
base.html을 밖에 있는템플릿으로 뺏을때
settings.py에서 TEMPLATES부분의
"DIRS": [BASE_DIR/ "templates"]로 수정 ㅇㅇ
베이스 디렉토리 아래있는 템플릿폴더를 뒤져서 찾아줘라는 뜻
BASE_DIR = Path(__file__).resolve().parent.parent
세팅스피와이 파일 상단에 일케쓰여있음
=>세팅파일의 부모폴더의 부모폴더를 베이스 디렉토리로 지정한다는뜻