gpt4 book ai didi

django - 您可以制作一个返回查询集的自定义模板标签吗?如果是,如何? - Django

转载 作者:行者123 更新时间:2023-12-04 07:08:35 24 4
gpt4 key购买 nike

让我们让我的 SOians 同胞(?)轻松完成这项工作。

这是自定义模板标签的正常工作方式 -

模板 ->

{% block content %}

blah blah blah

{% custom_tag_load %}

{% endblock %}

调用 custom_tag_load 并返回一个字符串。我想返回的是一个查询集,我可能会像这样使用 ->
{% block content %}

blah blah blah

{% for x in custom_tag_load %}

{{ x.datetime }}

{% endfor %}

{% endblock %}

注意 -> 我基本上要做的是避免通过 View 传递查询集,我不确定是否应该在全局上下文中存储查询集。

最佳答案

您可以从标签返回任何您喜欢的内容,包括查询集。但是,您不能在 for 中使用标签。标签 - 您只能在那里使用变量(或通过过滤器传递的变量)。您可以做的是让您的标签将查询集放入上下文中的变量中,并在 for 循环中使用该变量。请参阅 how to set a variable from a tag 上的文档- 虽然注意开发版本has an easier method为了做到这一点。

但是,您也不应该担心将查询集放入上下文处理器。不要忘记查询集是惰性的,因此除非在模板中评估或迭代查询集,否则不会进行数据库命中。

关于django - 您可以制作一个返回查询集的自定义模板标签吗?如果是,如何? - Django ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7954011/

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