Шаблоны Django - включают и повторяют содержимое блока - PullRequest
0 голосов
/ 19 ноября 2018

На моей странице home.html я пытаюсь включить файл header.html вместе с расширением base.html. Ниже мой код

{% extends "base.html" %}

{% block body %}
   {% include 'header.html' %}

   # including the block navigation from header.html
   <nav id='header-nav'>{% block nav %} {% endblock %}</nav>

   # including the block image from header.html
   <div id='header-img'>{% block image %} {% endblock %}</div>

   # Reusing the same navigation in footer from header.html
   <div id='footer-nav'>{% block nav %} {% endblock %}</div>

{% endblock %}

Home.html выглядит следующим образом

{% block image %}<h1>I am image</h1>{% endblock %}
{% block nav %}<h1>I am navigation</h1>{% endblock %}

Однако он возвращает ошибку - тег '' block 'с именем' nav 'появляется более одного раза'.

Почему это? Есть ли какие-то решения для этого?

Привет

1 Ответ

0 голосов
/ 19 ноября 2018

Вы включили {% block nav%} дважды в один и тот же шаблон. Вот почему это выдает ошибку. Может быть, вы хотели сделать {% block footer%}?

{% extends "base.html" %}

{% block body %}
   {% include 'header.html' %}

   # including the block navigation from header.html
   <nav id='header-nav'>{% block nav %} {% endblock %}</nav>

   # including the block image from header.html
   <div id='header-img'>{% block image %} {% endblock %}</div>

   # Name this block something else i.e add a new block in header.html
   # and this error should clear up.
   <div id='footer-nav'>{% block footer %} {% endblock %}</div>

{% endblock %}
...