📝 Django

Загрузка шаблонов в Django

P
Автор
Pyland
📅
Опубликовано
30.06.2026
⏱️
Время чтения
1 мин
👁️
Просмотров
82
🌿
Уровень
Средний
🐦 💼 ✈️

Рекомендуется: tasks/templates/tasks/ чтобы избежать конфликтов имён между приложениями.

Настройка поиска шаблонов

# settings.py
TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [BASE_DIR / 'templates'],  # папка шаблонов проекта
        'APP_DIRS': True,  # искать в <app>/templates/ каждого приложения
        'OPTIONS': {
            'context_processors': [...],
        },
    },
]

Структура папок

mysite/
├── templates/          # DIRS — общие шаблоны
│   └── base.html
├── tasks/
│   └── templates/      # APP_DIRS — шаблоны приложения
│       └── tasks/
│           ├── list.html
│           └── detail.html

Рекомендуется: tasks/templates/tasks/ чтобы избежать конфликтов имён между приложениями.

Использование в view

# По пути от DIRS или app/templates/
return render(request, 'tasks/list.html', context)
return render(request, 'base.html', context)

Наследование шаблонов

<!-- templates/base.html -->
<!DOCTYPE html>
<html>
<head><title>{% block title %}Сайт{% endblock %}</title></head>
<body>
  {% block content %}{% endblock %}
</body>
</html>
<!-- tasks/templates/tasks/list.html -->
{% extends 'base.html' %}

{% block title %}Задачи{% endblock %}

{% block content %}
  <h1>Список задач</h1>
{% endblock %}

include — вставка фрагментов

<!-- Вставить другой шаблон -->
{% include 'partials/task_card.html' with task=task %}

<!-- tasks/templates/partials/task_card.html -->
<div class="card">
  <h3>{{ task.title }}</h3>
  <span>{{ task.get_status_display }}</span>
</div>

Отладка поиска шаблонов

# Если шаблон не найден, Django выдаст TemplateDoesNotExist
# с указанием всех путей, где искал

В DEBUG=True ошибка показывает список поиска.

Ваша реакция на статью

💬 Комментарии (0)

🔐 Войдите в систему, чтобы оставить комментарий
🚪 Войти
💭

Комментариев пока нет

Станьте первым, кто поделится мнением об этой статье!

🔗 Похожие

Похожие статьи

Продолжите изучение с этими материалами

📝

pytest-django: тестирование Django

Охватываемые темы: Установка, @pytest.mark.djangodb, Фикстуры, Тестирование views.

📅 30.06.2026 👁️ 132
📝

Django: Теги шаблонов

Теги шаблонов — это логика внутри HTML. В отличие от {{ переменная }}, которая только...

📅 30.06.2026 👁️ 85
📝

Django: Статические файлы

Статические файлы — CSS, JavaScript, изображения, шрифты. Django обрабатывает их особым образом: в разработке раздаёт...

📅 30.06.2026 👁️ 73

Понравилась статья?

Подпишитесь на наши обновления и получайте новые статьи первыми. Развивайтесь вместе с PyLand!