#python #jinja2
#python #jinja2
Вопрос:
Я пытаюсь настроить сайт в Flask (ранее знакомый с django), и у меня возникают трудности с получением шаблонов для правильного отображения.
У меня есть base.html , home.html и еще navigation.html . Мой маршрут отображает home.html шаблон, который расширяет base.html шаблон, и это прекрасно работает. Но в моем base.html , есть еще один блок, называемый навигацией. Кажется, что ничего из того, что я ввожу в свой файл навигации, вообще не отображается.
base.html
<DOCTYPE html>
<html>
<head>
<title>{% block title %} {% endblock %} </title>
</head>
<body>
{% block navigation %}
{% endblock %}
{% block content %}
{% endblock %}
</body>
</html>
home.html
{% extends 'base.html %}
{% block title %} lorem ipsum {% endblock %}
{% block content %}
<h1> Here is text </h1>
<p> Lorem ipsum paragraph </p>
{% endblock %}
navigation.html
{% extends 'base.html %}
{% block navigation %}
<nav>
insert any html here, I used a p tag
</nav>
{% endblock %}
Я ничего не могу получить внутри navigation.html для отображения, независимо от того, что это такое.
В django я не помню, чтобы у меня была эта проблема.
Насколько я понимаю, я бы предположил, что я визуализирую home.html и не base.html итак , следовательно home.html может использовать базу, но она не может расширить свой охват, чтобы фактически использовать navigation.html .
Я не уверен, и я устал ломать голову над своим столом.
Комментарии:
1. Итак, вы хотите сказать, что вы
navigation.html
рендерите, но изображение<nav>
не отображается? Если это так, я согласен, что этого никогда не должно произойти. Можем ли мы увидеть код Python, который отображает шаблон, чтобы проверить, действительно ли он отображает шаблон, который вы ожидаете?
Ответ №1:
Здесь я делаю предположение, поэтому, пожалуйста, уточните, не ошибаюсь ли я.
Я подозреваю, что то, что вы имеете в виду сделать, происходит {% include 'navigation.html' %}
изнутри index.html
(и на всех других страницах, которым нужна такая общая навигация).
Если это так, вы можете удалить {% extends ... %}
from navigation.html
.
Комментарии:
1. Это то, чего мне точно не хватает! Вчера у меня, должно быть, был адский день, чтобы так бездельничать, спасибо!