Можно ли создать базовый шаблон для моего проекта, из которого могут извлечь все приложения? Или мне нужно создать базовый шаблон для каждого приложения? И если бы я хотел, чтобы они были такими же, я просто скопировал их?
Шаблон базы проектов 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 %}