본문 바로가기
Programming/Django

Django에서 Template 폴더 설정하기

by 느리게 걷는 즐거움 2024. 7. 4.
반응형

Django에서 Template 폴더 설정하는 방법

Django는 강력한 웹 프레임워크로, 템플릿 시스템을 통해 HTML 파일을 동적으로 렌더링할 수 있습니다. 이 글에서는 Django 프로젝트에서 템플릿 폴더를 설정하는 방법을 단계별로 설명하겠습니다.

Django 프로젝트 구조 이해

먼저, Django 프로젝트의 기본 디렉토리 구조를 이해하는 것이 중요합니다. 예를 들어, `myproject`라는 프로젝트와 `myapp`이라는 앱이 있는 경우, 기본적인 디렉토리 구조는 다음과 같습니다.

myproject/
    myproject/
        __init__.py
        settings.py
        urls.py
        wsgi.py
    myapp/
        migrations/
        __init__.py
        admin.py
        apps.py
        models.py
        tests.py
        views.py
    manage.py

프로젝트 수준 템플릿 폴더 설정

프로젝트 수준에서 템플릿 폴더를 설정하려면 `settings.py` 파일을 수정해야 합니다. `settings.py` 파일을 열고 `TEMPLATES` 설정을 찾아 다음과 같이 수정합니다

# myproject/settings.py

import os
from pathlib import Path

# Build paths inside the project like this: BASE_DIR / 'subdir'.
BASE_DIR = Path(__file__).resolve().parent.parent

# ...

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [os.path.join(BASE_DIR, 'templates')],  # 템플릿 디렉토리 설정
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
            ],
        },
    },
]

# ...

이 설정은 프로젝트 루트에 `templates` 폴더를 생성하고, 이 폴더를 템플릿 디렉토리로 사용하겠다는 의미입니다. 이제 프로젝트 루트에 `templates` 폴더를 생성하세요.

myproject/
    templates/

앱 수준 템플릿 폴더 설정

앱 수준에서 템플릿 폴더를 설정하려면 각 앱 폴더 내에 `templates` 폴더를 만들고, 그 안에 앱 이름과 동일한 폴더를 생성합니다. 예를 들어, `myapp`의 템플릿 폴더 구조는 다음과 같습니다:

myapp/
    templates/
        myapp/
            example_template.html

이렇게 하면 각 앱의 템플릿들이 서로 충돌하지 않도록 관리할 수 있습니다.

템플릿 사용

이제 템플릿을 사용하려면 뷰에서 `render` 함수를 사용하여 템플릿 파일을 지정하면 됩니다.

# myapp/views.py

from django.shortcuts import render

def example_view(request):
    return render(request, 'myapp/example_template.html')

위 코드에서 `example_view` 함수는 `example_template.html` 파일을 렌더링합니다. Django는 `TEMPLATES` 설정에서 지정한 디렉토리와 각 앱의 `templates` 폴더를 검색하여 템플릿 파일을 찾습니다.

결론

Django에서 템플릿 폴더를 설정하는 방법을 요약하면 다음과 같습니다:

  • `settings.py` 파일에서 `TEMPLATES` 설정 수정
  • 프로젝트 루트에 `templates` 폴더 생성
  • 각 앱 폴더 내에 `templates`/<앱 이름> 폴더 생성
  • 뷰에서 `render` 함수를 사용하여 템플릿 파일 지정

이러한 방법을 따르면 Django 프로젝트에서 템플릿 파일을 효율적으로 관리할 수 있습니다. Django의 템플릿 시스템을 활용하여 동적 웹 페이지를 쉽게 만들 수 있습니다.

반응형

'Programming > Django' 카테고리의 다른 글

Django에서 Python Logger 사용하기  (0) 2024.07.05
Django Template 생성하기  (0) 2024.07.04