缺少嵌套模板显示

时间:2015-02-05 21:24:49

标签: python html django

我正在尝试在portfolio.html文件中显示内容,但没有显示任何内容。

home.html中的

投资组合部分:

<!-- portfolio -->
<section id="portfolio">
  <div class="container">
    <div class="row">
      <div class="title">
        Some of our work
      </div>
      <div class="caption">
        Costco sample
      </div>
      {% block portfolio %} {% endblock %}
    </div>
  </div>
</section>

portfolio.html:

{% extends "home/home.html" %}

    {% block portfolio %}

          <div class="col-md-4 col-sm-6 portfolio-item">
            <a href="#" class="portfolio-link">
              <div class="portfolio-hover">

              </div>
              <img src="../static/images/roundicons.png">
            </a>
          </div>
          <div class="col-md-4 col-sm-6 portfolio-item">

          </div>
          <div class="col-md-4 col-sm-6 portfolio-item">

          </div>
          <div class="col-md-4 col-sm-6 portfolio-item">

          </div>
          <div class="col-md-4 col-sm-6 portfolio-item">

          </div>
          <div class="col-md-4 col-sm-6 portfolio-item">

          </div>
        {% endblock %}

模板格式:

#####index.html
{% load staticfiles %}

{% block content %}{% endblock %}

#############



#####home.html

{% extends "index/index.html" %}

{% load staticfiles %}

{% block content %}

  {% block portfolio %}{% endblock %}

{% endblock %}

#############



#####portfolio.html

{% extends "home/home.html" %}

  {% block portfolio %}
     CONTENT
  {% endblock%}

{% endblock %}

#############

检查员中缺少内容:

enter image description here

2 个答案:

答案 0 :(得分:1)

您正尝试在home.html中的portfolio.html中呈现内容...尝试相反的方法。

您通常会渲染子模板

慢慢阅读https://docs.djangoproject.com/en/1.7/topics/templates/ ...:P。在Bassically你创建一个基本的通用模板(在你的情况下为parent - home.html),包含一些块,然后扩展它并覆盖子上的块(portfolio.html)

答案 1 :(得分:1)

由于您的视图正在呈现home.html,因此您不希望portfolio.html扩展它。相反,您希望home.html包含portfolio.html。不使用{% block portfolio %},而是使用{% include "portfolio.html" %}

但是,如果您的视图要呈现portfolio.html,那么它会扩展home.html