【问题标题】:Jinja range raises TemplateSyntaxError in Django viewJinja 范围在 Django 视图中引发 TemplateSyntaxError
【发布时间】:2017-01-30 22:49:21
【问题描述】:

在 django jinja2 tempate 中使用代码

{% for i in range(10) %}
    foo {{ i }}<br>
{% endfor %}

TemplateSyntaxError 引发错误消息

无法解析余数:'(10)' from 'range(10)'

我需要做什么才能在 jinja2 模板中循环 range

我在 django 文档中找到了一个 link 来解释这一点

由于 Django 有意限制模板语言中可用的逻辑处理量,因此无法将参数传递给从模板中访问的方法调用。数据应在视图中计算,然后传递给模板进行显示。

但我认为这不适用于 range 函数。

【问题讨论】:

  • 你没有使用 Jinja2,你使用的是 Django 模板语言。为什么这不适用于 range 函数?
  • 似乎试图将模板解析为 Django 模板而不是 jinja2 模板。指向 Django 文档的链接是关于 Django 模板的,而不是关于 jinja2 的。您的模板设置是什么?
  • @DanielRoseman 这似乎正是您的问题,我将其发布为答案,因为这是问答网站的工作方式;)

标签: python django range jinja2


【解决方案1】:

Django 使用的不是 Jinja2,而是 Django 模板语言。 Django模板语言中没有范围函数。

【讨论】:

    猜你喜欢
    • 2020-10-15
    • 2019-04-10
    • 2020-07-02
    • 1970-01-01
    • 2012-09-23
    • 2016-02-21
    • 2012-05-26
    • 2014-01-17
    • 2020-06-16
    相关资源
    最近更新 更多