📑
Django 작동 과정
- http 요청(Request)이 들어오면
- URL(urls.py) 처리
- View(views.py) 처리
- Template(html) 처리
- http 응답(Response) 전달
Django 공식 문서
https://docs.djangoproject.com/en/4.2/
Django Template Language
: DTL. 파이썬과 비슷하게 되어있음. 파이썬 코드가 안쪽에 들어가는것이 아님. DTL 문법이 파이썬과 비슷할 뿐이다.
• 변수의 기본 형태 - {{ variable }}
- view의 context로 넘긴 데이터를 접근할 수 있음
- . 을 사용하여 변수의 속성값에 접근 가능
- render() 의 세번째 인자인 context에 dict 형태로 넘겨진 데이터 중, key 값이 template에서 사용 가능한 변수가 됨.
• 필터의 기본 형태 - {{ variable|filter }}
- 변수에 어떠한 작업을 추가적으로 더해 수정하고 싶을때 사용
- 약 60개의 built-in template filter가 제공되며 일부 필터는 인자를 받기도 함. 🔗공식문서
ex. 넘겨준 데이터를 소문자로 표시하는 필터.(데이터는 그대로. 보여지는 것만 바뀜.)
{{ first_name|lower }}
• 태그의 기본 형태 - {% tag %}
- 반복문 또는 논리, 조건문을 수행하여 제어 흐름을 만들거나 특수한 기능을 수행
- 일부는 시작 태그와 종료 태그가 있음
{# if문 예시 #}
{% if ~ %}
{% endif %}
• 주석 달기
{# 한 줄 주석 #}
{% comment %}
여러줄
주석
{% endcomment %}
Template 상속
- {% block block_name %} {% endblock block_name %}
- 상위 템플릿에서 하위 템플릿 마다 달라질 부분을 정의
- {% extends 'template_name' %}
- 하위 템플릿에서 상위 템플릿을 상속해서 확장한다는 것
- 템플릿의 가장 최상단에 위치해야함
- 다중상속을 지원하지 않음
✓ 코드의 재사용성에 초점이 맞춰져 있으며, 상위 템플릿에 공통이 될 부분을 정의하고
하위 템플릿에서 달라질 부분을 블록(Block)으로 만드는 Skeleton 형태이다.
개체 관계 다이어그램(ERD)
: Entity Relationship Diagram. 데이터베이스 논리 설계 단계에서 작성하는 문서. 개체들 간에 어떤 연관관계를 나타내는 지를 개발자 외의 이해관계자도 이해할 수 있게끔 다이어그램으로 나타냄.
*개체 - 특정할 수 있는 어떤 대상. 데이터베이스에서는 '테이블'.
*이렇게 그리도록 약속되어 있지만 사용하는 집단마다 차이가 있을 수 있다.
ERD 툴
Aquerytool https://aquerytool.com/?demo=y - 로그인하면 더 잘 활용할 수 있음.
DBdiagram https://dbdiagram.io/d - 로그인하면 더 잘 활용할 수 있음.
Drowid https://app.diagrams.net/ - 로그인하지 않고 사용할 수 있는 간단한 툴.
Excel, PPT, word, Figma 등을 이용해도 됨. 중요한 건, 수정이 용이한 tool을 사용하는 것.
SQLAlchemy나 Django-extensions를 통해 작성할 수도 있음. 텍스트 파일로도 작성 가능!
ex. 수강생 ----0< 강의