Liondancer
Liondancer

Reputation: 16469

missing nested template display

I am trying to display the content in my portfolio.html file but nothing is showing up.

portfolio section in 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 %}

template format:

#####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 %}

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

Missing content in the inspector:

enter image description here

Upvotes: 0

Views: 38

Answers (2)

cdvv7788
cdvv7788

Reputation: 2089

You are trying to render content from portfolio.html in home.html...try the opposite.

You normally render the child templates

Read https://docs.djangoproject.com/en/1.7/topics/templates/ ...slowly :P. Bassically you create a basic generic template (parent - home.html in your case) that contains some blocks and then extend it and override the blocks on the children (portfolio.html)

Upvotes: 1

Joseph
Joseph

Reputation: 13188

Since your view is rendering home.html, then you don't want portfolio.html to extend it. Rather, you want home.html to include portfolio.html. Instead of using {% block portfolio %}, use {% include "portfolio.html" %}

However, if your view was going to render portfolio.html, then it would extend home.html.

Upvotes: 1

Related Questions