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

setting a dynamic data attribute on flask wtforms jinja select

有一个 flask wtforms select 字段并尝试合并 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

完全呈现时

如果 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_ 而不是 class