템플릿 상속
html상에서 겹치는 내용들(ex. navbar)을 새로운 html을 만들 때마다 복붙 해야 할까?
-> base.html에 겹치는 내용들을 써주고, 새 파일에는 base.html을 불러온다.
템플릿 상속의 장점 : 코드 재사용 가능, 일관된 UI 구성 및 변경 용이
템플릿 상속의 구현
1. 프로젝트 폴더에 ‘templates’ 폴더 만들기
2. templates폴더에 base.html만들기
3. base.html에 (중복코드)내용 채워넣기 및 선언
~(중복코드)~
이 아래에 새로운 컨텐츠가 올 예정
{% block contents %}
{% endblock %}
contents 대신 title, sidebar 등 가능
4. settings.py에 base.html 위치 알리기
TEMPLATES = [
{
‘DIRS’ : [‘<project 폴더 이름>/templates’],
}
]
5. 사용하고자 하는 html에서 base.html 불러오기
최상단에 {% extends ‘base.html’ %} cf. extends는 우선순위가 높다.
{% block contents %}
~contents 작성~
{% endblock %}
url 관리
App폴더별로 url 관리
1. App 폴더에 urls.py 생성
2. App 폴더 내 urls.py 수정
urlpatterns = [
path(‘x/’, views.x, name=”x”)
]
3. 프로젝트 urls.py 수정
from django.urls import include
path(‘<url 이름>/’, include(‘<App폴더>.urls’))
'Server > django' 카테고리의 다른 글
[Django] 장고 기초 - Pagination (0) | 2019.12.29 |
---|---|
[Django] 장고 기초 - 회원가입, 로그인, 로그아웃 (0) | 2019.12.29 |
[Django] 장고 기초 - portfolio (static & media) (0) | 2019.12.29 |
[Django] 장고 기초 - pk, path converter, get_object_or_404란? (0) | 2019.12.28 |
[Django] 장고 기초 - queryset & method (0) | 2019.12.28 |