【问题标题】:Error when trying to join elements in Jinja尝试在 Jinja 中加入元素时出错
【发布时间】:2013-07-12 18:39:35
【问题描述】:

我有一个项目列表,我试图将这些项目包含在强标签中,并在将其呈现在我的视图中之前用逗号分隔。

这是行:

{% set exts = ', '.join("<strong>%s</strong>" ~ ext for ext in allowed_file_exts) %}

但不幸的是,我收到以下错误:

TemplateSyntaxError: expected token ',', got 'for'

有什么建议吗?

【问题讨论】:

  • 是否有任何特殊原因需要将此逗号分隔的标记列表设置为模板中的变量而不是仅显示它(这更容易...)?
  • @Wooble 我实际上稍后会在视图中显示它,我只是没有看到有必要将其包含在我的问题中,因为这不是发生错误的地方。
  • 是的,我知道,但你有理由分两步完成,而不是分配给变量然后显示?

标签: python django flask jinja2


【解决方案1】:

我不知道确切的问题是什么,但您的列表理解似乎有问题。

请改用此行:

{% set exts = ', '.join(["<strong>%s</strong>" % ext for ext in allowed_file_exts]) %}

【讨论】:

  • 我不确定你所说的“列表理解”是什么意思,但你实际上不需要外面的括号。不幸的是,您的解决方案仍然导致 Jinja 抱怨。发帖前你测试了吗?
  • 也许 jinja 需要 ~ 而不是 %。为了回答您的问题,我没有运行 jinja 应用程序进行测试,但这可能是最可能的诊断。
猜你喜欢
  • 2013-10-26
  • 1970-01-01
  • 2020-10-27
  • 2016-10-07
  • 2017-02-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-27
相关资源
最近更新 更多