Шаблон базы проектов Django

Можно ли создать базовый шаблон для моего проекта, из которого могут извлечь все приложения? Или мне нужно создать базовый шаблон для каждого приложения? И если бы я хотел, чтобы они были такими же, я просто скопировал их?

Ответ 1

Конечно. Быстрый пример base.html

<!DOCTYPE html>
<html>
    <head>
        <title>My Project</title>
    </head>

    <body>
    {% block content %}{% endblock content %}
    </body>
</html>

И скажите, что у вас есть приложение под названием myapp с страницей view.html,

{% extends "base.html" %}

{% block content %}
    <h2>Content for My App</h2>
    <p>Stuff etc etc.</p>
{% endblock content %}

Потратьте некоторое время на прочитать документы для получения дополнительной информации

Ответ 2

Да, вы можете это сделать абсолютно. Используя теги шаблона extends и include в ваших шаблонах Django.

Я начинаю изучать Django и недавно понял это. Мой код находится в Github, если вы заинтересованы в том, как я структурирую шаблоны Django для наследования с base.html, а затем include обычные вещи, такие как navbar и header, footer и т.д.

Ответ 3

В последнем ответе есть какая-то проблема, и вот правильный; вы должны иметь Base.html следующим образом:

{% load staticfiles %}

<!DOCTYPE html>
<html>
<head>
    <title>My Project</title>
</head>
<body>
{% block content %}{% endblock %}
</body>
</html>

а также для index.html

{% extend "appname/base.html" %}
{% block content %}
     <h1>test</h1>
{% endblock %}