gpt4 book ai didi

django - 有没有办法在 Django 模板中使 block 可选

转载 作者:行者123 更新时间:2023-12-03 15:19:54 25 4
gpt4 key购买 nike

在 Django 的模板系统中,如果我想使用 if 语句将一个块设为可选,我该怎么做?

我正在尝试这个:

{% if val %}{% block title %}Archive {{ foo }}{% endblock %}{% endif %}

但这不起作用。有没有办法做到这一点,以便对于给定的值(在本例中为 Null),不会发出块并且基本模板使用原始值?

编辑:
让我说得更具体一点,以便更容易回答。

我有一个页面,每页有 10 个条目。然后用户可以继续到下一页并查看接下来的十个项目。对于他们去的每一页,超过第一页,我想让标题标签说“文件 1”或“文件 10”之类的东西,但如果他们回到原始页面,它不再是文件,它应该只需转到基本模板中已经给出的原始站点标题即可。

最佳答案

我在我正在进行的一个项目中遇到了类似的问题。这是我如何使用 {{ block.super }} 从父块中提取默认值来解决它的:

我的父模板包含:

{% block title %}Default Title{% endblock %}

我的子模板包含:
{% block title %}
{% if new_title %}{{ new_title }}{% else %}{{ block.super }}{% endif %}
{% endblock %}

*注意:如果您打算在 HTML 标题标签中使用结果,您可能需要将代码包装在 {% spaceless %}{% endspaceless %} 中。

(看起来 Jordan Reiter 在我回复之前在原始问题的评论中发布了相同的解决方案。)

关于django - 有没有办法在 Django 模板中使 block 可选,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3458634/

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