在烧瓶 wtforms jinja select 上设置动态数据属性

Posted

技术标签:

【中文标题】在烧瓶 wtforms jinja select 上设置动态数据属性【英文标题】:setting a dynamic data attribute on flask wtforms jinja select 【发布时间】:2021-12-14 03:44:39 【问题描述】:

有一个烧瓶 wtforms 选择字段并尝试合并 htmx ajax 调用,该调用在数据属性中有破折号,所以我在 SO 上找到了如下解决方案:

 form.dia(class="form-select", **'hx-post': "/pulleys/pulley_id/hub_type", 'hx-target': "#hub-shaft-selection", 'hx-swap': "innerhtml")  

但是 pulley_id 没有被模板解析,我猜它已经在另一个 中了。 有没有办法构建如上所示的动态部分,所以它最终成为

'hx-post'="/pulleys/1/hub_type"

pulley_id=1 完全渲染时

【问题讨论】:

【参考方案1】:

如果pulley_id 是循环内的变量或传递给render_template 的变量,您应该能够格式化字符串:

 form.dia(class_="form-select", **'hx-post': "/pulleys/%s/hub_type"|format(pulley_id), 'hx-target': "#hub-shaft-selection", 'hx-swap': "innerHTML")  

注意:如果您尝试设置 HTML 类属性,您还需要 class_ 而不是 class

【讨论】:

以上是关于在烧瓶 wtforms jinja select 上设置动态数据属性的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Jinja2 模板在烧瓶中解码 &#39 [重复]

Jinja/Wtform 需要验证

使用来自 SQLAlchemy 对象的数据在烧瓶中预填充 WTforms

使用 Jinja2 将值传递给 WTForms 字段

如何解决错误 KeyError: 'A secret key is required to use CSRF.'在烧瓶应用程序中使用 wtform 时?

如何使我的烧瓶 wtforms SelectField 看起来像一个下拉列表?