【问题标题】:can we pass array/list to template content blocks in django? python我们可以将数组/列表传递给 Django 中的模板内容块吗? Python
【发布时间】:2016-11-13 18:27:56
【问题描述】:

我知道我们可以将变量传递给内容块,但我们可以传递列表吗?

我知道我们可以通过这种方式传递变量

{% include "partials/pickUp-Order-Form.html" with form="form" %}

我试过这样传递列表

{% include "partials/pickUp-Order-Form.html" with form=["list", "test"] %}

但这行不通。我查了一下,文档中似乎没有这样的东西。

【问题讨论】:

  • 您可以编辑您的帖子并添加您想要包含的 html 模板吗? pickUp-Order-Form.html 来自您的代码 sn-p ({% include "partials/pickUp-Order-Form.html" %})

标签: python django list include


【解决方案1】:

你需要在一个变量或对象中传递一个列表,你可以这样做:

{% include "partials/pickUp-Order-Form.html" with form="list test".split %}

或者你可以先创建变量,然后将它传递给包含标签:

{% with "list test" as list %}
    {% include "partials/pickUp-Order-Form.html" with form=list.split %}
{% endwith %}

【讨论】:

  • 这行得通吗?我尝试第一个时出错 - 无法解析剩余部分:'.split'
【解决方案2】:

include django 模板标签可用于加载和呈现 HTML 模板,其中传递给原始模板的上下文/数据被传递。

您可以在built-ins 部分找到有关此功能的文档。

因此,如果您想包含一个模板,其中呈现模板的原始视图具有以下上下文字典:{'word': 'Bird', 'power_level': 9001} 您可以在另一个模板中呈现它:{% include "word_template.html" with word="Not a Bird" power_level="470" %},这反过来会更改值到想要的。

回答问题:

它应该可以工作

考虑到您的include 模板不会将list 类型用作其他类型。

【讨论】:

    猜你喜欢
    • 2012-09-27
    • 1970-01-01
    • 2022-06-12
    • 2018-08-30
    • 2021-10-29
    • 2023-04-03
    • 1970-01-01
    • 2013-10-08
    相关资源
    最近更新 更多