【问题标题】:Why this example do not leave为什么这个例子不离开
【发布时间】:2012-12-23 05:44:58
【问题描述】:

这是此页面的链接https://code.djangoproject.com/ticket/5172

更具体一点

{% for 5 %}
repeat me
{% endfor %}

还有这个

{% for my_integer %}
loop: {{ forloop.counter }}
{% endfor %}

我犯的错误如下

TemplateSyntaxError: 'for' statements should have at least four words: for 5

【问题讨论】:

    标签: python django django-templates


    【解决方案1】:

    我想你想要的是这样的:

    {% for i in 5|getrange %}
    do something
    {% endfor %}
    

    this代码sn-p。

    【讨论】:

    • 这需要添加代码来实现该过滤器,然后才能使用它。
    • @Amber Django 模板不支持范围函数 - stackoverflow.com/a/5242907/1907098
    • 在重写过滤器时出现以下错误 TemplateSyntaxError: 'for' statements should use the format 'for x in y': for i 0 to 5
    • @Krasimir 首先,你的过滤器是什么?其次,你应该输入{% for i in 5|yourfilter %}
    • {% load range_tags %}
        {% for i in 3|get_range %}
      • {{ i }}。做点什么
      • {% endfor %}
      这个代码不起作用,你开始吧。这是来自 django.template 的过滤器 import Library register = Library() @register.filter def get_range(value): return range( value )
    【解决方案2】:

    您链接到的页面是请求此类语法的票证。它以wontfix 关闭,例如,该功能非常具体可用,并且不太可能很快添加。

    相反,您需要使用{% for counter in my_range %} 或类似的东西,其中my_range 设置为range(5) 的输出。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-11-11
      • 1970-01-01
      • 1970-01-01
      • 2014-11-23
      • 2015-02-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多