본문 바로가기
Django Class Review

Django Class Review2(template)

by Rain_fall 2025. 8. 14.

1.기본 설정(view와 url 설정)

views.py를 통해 만들어진 template을 연결하기 위해서는 다음과 같이 프로젝트와 앱을 만들어놔야한다. 

1)django-admin startproejct my_site

해당 명령어를 이용해서 my_site라는 프로젝트를 만든다.

2)python manage.py startapp my_app

해당 명령어를 이용해서 my_app이라는 애플리캐이션을 만든다.

3)my_app에는 urls.py가 없기 때문에 urls.py파일을 만들고 urlpatterns를 통해 view와 연결하고 views.py에는 example_view함수

를 만들어 example.html 파일을 연결시킨다. 

마지막으로 프로젝트 레벨의 my_site의 urls.py에 my_app의 url을 연결하여 기본 설정을 마무리한다. 

 

2. 앱 디렉토리 설치 및 연결하기

1)python manage.py migrate

해당 명령어를 통해 settings.py 내부에 설치된 앱을 살펴보고, 필요한 데이터 베이스 테이블을 생성한다.

2)app을 설치하고 연결하기

my_app 애플리케이션 내에는 apps.py라는 파일이 있는데 해당 파일을 확인하면 다음과 같다. 

 

여기서 MyAppConfig를 settigns.py의 INSTALLED_APPS에 등록해줘야한다. 

3)python manage.py makemigrations my_app

이렇게 등록한 앱을 Django의 앱과 데이터베이스의 변경사항에 저장하기 위해서 python manage.py makemigrations my_app을 이용해서 저장한다. 

4)templates/my_app/example.html

마지막으로 이렇게 연결된 앱을 view에서 사용한 my_app/example.html에 연결하기 위해서 my_app 내부에 templates라는 폴더를 만들고 해당 폴더 내부에 my_app이라는 폴더를 하나 더 만들어 내부에 example.html을 생성해 놓는다. 이렇게 하는 이유는 django의 경우 같은 이름의 파일을 찾아서 가져오는데, templates 내부에 my_app이라는 폴더를 만들어 찾을때 혼동을 피하기 위함이다.

 

3.템플릿  변수

1)variable.html

기존에 사용하던 example.html과 더불어 variable.html을 생성하고 urls.py에 views.py를 통해 연결한다.

 

 2)my_var 템플릿 변수

views.py를 이용해 variable.html을 연결할때는 다음과 같은 variable_view함수를 이용한다. 

여기서 중요한 것은 my_var이라는 템플릿 변수를 사용한 것이다. my_var과 같이 딕셔너리를 이용해서 변수를 선언하고, render에 context로 넘겨주면 variable.html에서 해당 딕셔너리에 들어있는 값을 사용할 수 있다.

다음과 같이 html파일 내에서 중괄후 두번을 이용해서 키 값을 대입해준다면 변수의 값을 사용할 수 있게 된다.

해당 url을 통해 사이트로 접속한다면 다음과 같이 변수를 이용해서 문장을 출력하는 것을 확인할 수 있다. 

즉 원하는 변수를 이용해서 html에 직접적으로 나타낼 수 있는 것이다.

 

4. Filter

필터란 python 스크립트가 아닌 템플릿 측의 변수에 변경사항을 빠르게 저장하도록 해주는 django 템플릿의 수정자이다.

다음과 같이 기존에 가져오던 변수에 | 문자를 입력하고 upper(대문자로 바꾸기), capfist(첫문자만 대문자로)와 같은 필터를 사용한다면 즉각적으로 원하는 변수를 사용자의 입맛에 맞게 변경할 수 있다는 장점이 있다.

 

5. Tag

태그란 HTML 템플릿 안에서 특별한 기능을 수행하는 장고 문법이다.

{% %} 문법으로 감싸서 사용하고, 변수 출력은 {{ }}를 사용한다.

 

1)for 루프

다음과 같이 variable_view에서 다음과 같은 my_var라는 변수를 가지고 있다고 가정했을때, for 문을 이용해서 간단하게 리스트에서 변수를 출력할 수 있다.

for루프의 경우 {% for in %}{% endfor %}라는 문법 형태를 가진다. 위의 예시의 경우 some_list에서 변수를 하나씩 가져와서 출력하는 것으로 보면 된다. 주의할 점은 {% endfor %}을 통해서 for문이 언제 끝나는지 알려줘야 한다는 것이다.


 

 

 

 

 

 

 

 

'Django Class Review' 카테고리의 다른 글

Django Class Review1(view, URL)  (1) 2025.08.12