【问题标题】:How to assign value in Django Templates?如何在 Django 模板中赋值?
【发布时间】:2009-12-11 17:24:04
【问题描述】:

我已经写了一个模板标签并将其带到模板中:

{% check_somethings value1 value2 as is_checked %}
{% if is_checked %}
    # do it
{% endif %}

但是有一些错误。我这样做对吗?

check_somethings takes 2 arguments

有:

@register.simple_tag
def check_somethings(value1, value2):
    if Mymodel.objects.filter(f1=value1, f2=value2):
        return True
    else:
        return False

【问题讨论】:

  • 请添加你的模板标签实现和你得到的错误。
  • 你能贴出标签本身的代码吗?

标签: django django-templates


【解决方案1】:

“作为某物”模式没有内置到 Django 标签中,您的标签必须明确提供该功能,而 simpletag 无法做到这一点。你必须编写一个完整的节点和解析器函数,这比它应该做的要难;但是您可以查看内置标签的示例。

【讨论】:

    【解决方案2】:

    模板标签解析级别很低。您已经向模板标签传递了四个参数:value1value2asis_checked。我不确定如何做你想做的事。我会检查已经这样做的标签的代码,并进行比较。我很确定@simpletag 不会涵盖它。

    【讨论】:

      【解决方案3】:

      看看smart if tag。显然它将内置到 1.2 中。

      【讨论】:

      • 在开发版的Django中,添加了这样的东西。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-05-13
      • 2023-04-03
      • 1970-01-01
      • 2012-01-10
      • 1970-01-01
      • 2020-09-30
      • 1970-01-01
      相关资源
      最近更新 更多