【问题标题】:Django: how to pass form variable to simple tag in templateDjango:如何将表单变量传递给模板中的简单标签
【发布时间】:2011-03-04 16:13:20
【问题描述】:

我正在尝试以 Django cmets 形式做一些自定义的事情。我有一个名为“get_flatpage_by_id”的简单标记,它将平面模型数据作为数组返回。这是我预期的工作:

{% get_flatpage_by_id 14 as page %}

它返回 ID 为 14 的平面页面。但这不起作用,如果我尝试传递 {{ form.object_pk.data }}(返回 14)。它应该是这样的:

{% get_flatpage_by_id form.object_pk.data as page %}

简单标签接收值“form.object_pk.data”(字符串),而不是14。我不知道如何告诉Django“form.object_pk.data”是变量,而不是字符串!

【问题讨论】:

    标签: django templatetags


    【解决方案1】:

    没关系,我的朋友给出了解决方案...

    在过滤器中我可以读取传递给模板的所有数据,因此我收到了我需要的表单对象和数据。

    【讨论】:

    • 您能为此发布一个代码 sn-p 吗?我刚刚遇到这个问题,正在寻找这个问题的答案。
    • 在您的模板标签中,您可以使用以下语法访问平面页面 ID: context['form'].object_pk.data 正如我之前所说,您可以访问模板标签中的所有上下文元素(包括您的和 Django变量传递给模板)。
    猜你喜欢
    • 2013-03-06
    • 2017-03-02
    • 2015-06-22
    • 1970-01-01
    • 2020-04-24
    • 1970-01-01
    • 2012-09-27
    • 2011-03-04
    • 1970-01-01
    相关资源
    最近更新 更多