Django 模板渲染顺序...-包含、部分和块的问题

问题描述 投票:0回答:1

我有:

ViewChild.html:

 {% extends 'app1/parent.html' %}  
 {%block  title%}
        my title
 {%endblock title%} 

然后我就有了 Parent.html:

{%include 'html_parts/modal_part.html'   %}

使用部分视图:

   {%block  title%} 
     {%endblock  title%}  

不幸的是,视图没有正确渲染,即。不显示“我的标题”。 (应用程序、路径等都可以。所有文件都放在 coorect 文件夹中)。 它只是具有渲染逻辑的东西。 可能,我不能在父视图中使用定义块的部分,该块将由子视图填充? 有什么建议吗?

django
1个回答
0
投票

“我的标题”未显示的原因是

include
的工作原理。来自文档
include
“加载模板并使用当前上下文渲染它。” 这与
block
 在模板继承中的工作方式不同:块告诉模板引擎,子模板可以
覆盖模板的那些部分。 (文档)

在您的情况下,这意味着您需要更新

Parent.html

 以删除 
{% include 'html_parts/modal_part.html' %}
 并添加 
{%block title %}
,这允许 
ViewChild.html to override the value of
title`。

© www.soinside.com 2019 - 2024. All rights reserved.