【问题标题】:Jinja2 '-' in variable, bug? [duplicate]Jinja2 '-' 在变量中,错误? [复制]
【发布时间】:2015-02-21 22:57:41
【问题描述】:

我正在烧瓶迈出第一步,我正在尝试使用 wtf-forms 制作自定义 html 标签

当我使用这个时:

{{form.email(data-trigger="hover")}}

我明白了:

jinja2.exceptions.TemplateSyntaxError: expected token ',', got '='

没有它一切正常:

{{form.email(datatrigger="hover")}}

有什么办法可以解决吗?

【问题讨论】:

标签: python flask jinja2


【解决方案1】:

Python 中的标识符(包括 Jinja2 中嵌入的 Python sn-ps)可以包含字母、下划线和数字(并且不能以数字开头)。

标识符中不允许使用其他标点符号,包括破折号(这不是 Python 特有的 - 许多其他语言对于标识符中允许的内容具有完全相同的词法规则)。

所以no,没有no方法可以“修复”Python 以允许您在标识符中包含破折号(Python 将其作为“减号”运算符) .为什么你需要?你不能用下划线代替吗?

【讨论】:

  • 在这种情况下,可以使用下划线,因为 WTForms 在呈现input 标签时会将下划线转换为连字符。 form.email(data_trigger='...') 将变为 <input data-trigger="..." ... >
  • 非常感谢,它有效!我想我需要更准确地阅读文档
猜你喜欢
  • 2013-02-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-12-24
  • 1970-01-01
  • 2019-07-08
  • 2015-10-21
  • 1970-01-01
相关资源
最近更新 更多