Python 缺少嵌套模板显示
我试图在我的Python 缺少嵌套模板显示,python,html,django,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>
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>
检查器中缺少内容:
您正在尝试从home.html中的portfolio.html呈现内容…请尝试相反的方法 通常会渲染子模板
慢慢读:p.基本上,你创建一个基本的通用模板(在你的例子中是parent-home.html),其中包含一些块,然后扩展它并覆盖子块(portfolio.html)因为你的视图正在呈现
home.html
,那么你就不希望portfolio.html
来扩展它了。相反,您希望home.html
包含portfolio.html
。不要使用{%block portfolio%}
,而是使用{%include“portfolio.html”%}
但是,如果您的视图要呈现
portfolio.html
,那么它将扩展home.html
你的视图是呈现home.html还是portfolio.html?@Joseph我的视图是呈现home.html
我不确定你说的相反的意思。对不起,我是Django的新手。我渲染了home.html
,在该文件中,我试图在home.html
中渲染portfolio.html
,因为我想有两个文件,所以我的代码更模块化。我仍然有点困惑,因为我有index.html
和内容块。我在home.html
中使用{%extends index/index.html%}
,这将加载我的home.html
页面。我尝试使用相同的逻辑,但从home.html
级别开始,在portfolio.html
上执行此操作是我的错误。我认为我的代码有一些缺陷。我会设法解决这些问题,并尝试你的建议。我不知道还能怎么解释。使用{%extends%}
时,视图必须呈现该模板。因此,如果您的portfolio.html
是一个扩展了另一个模板的模板,那么您需要呈现portfolio.html
。但是,如果您只想将呈现的portfolio.html
模板的内容放在另一个模板中,那么您可以在视图实际呈现的模板中使用{%include%}
(在您的例子中是home.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 %}
#############