gpt4 book ai didi

django:在包含的模板中使用 block

转载 作者:行者123 更新时间:2023-11-28 19:35:25 24 4
gpt4 key购买 nike

我有一些 html 结构可以在很多不同的地方重复使用。它不同于一个整体模板,所以我不能扩展它,它也可以用来包含复杂的内容,所以我认为将它定义为模板标签并不是一件好事。下面是一些描述我想要的结果的伪代码,当使用 template_level2.html 时,您可以通过调用其中的 block 轻松地将内容放入 reusable_pattern_template 中。如果我使用此代码,您在 template_level_2.html 的“实际内容”中所写的内容将不会显示。我该如何处理?

基础.html

<html>
<head></head>
<body>
{% block content %}{% endblock %}
</body>
</html>

template_level1.html

{% extends 'base.html' %}
{% block content %}
Something here...
{% include 'reusable_pattern_template.html' %}
Something else here...
{% endblock %}

reusable_pattern_template.html

<div>
<div>
<div>
{% block local_content %}{% endblock %}
</div>
</div>
</div>

template_level2.html

{% extends 'template_level1.html' %}
{% block local_content %}
Actual content here...
{% endblock %}

更新:抱歉,template_level2.html 中的 extends 有一些拼写错误,我刚刚更正了它。

可能不是很清楚,但上面的代码更像是描述我想要的结果的伪代码。简而言之,

  • 我想在我的代码中包含一些可重用的 html 模式模板。
  • 这些模式就像盒子,你可以把整段 html其中的内容。所以上下文变量可能有点太有限了我的目的

最佳答案

Django 不处理包含文件中的 block 。

The include tag should be considered as an implementation of "render this subtemplate and include the HTML", not as "parse this subtemplate and include its contents as if it were part of the parent". This means that there is no shared state between included templates -- each include is a completely independent rendering process. (Django template tag documentation)

关于django:在包含的模板中使用 block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9633387/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com