将命名空间属性添加到 django-crispy-form 字段
Adding namespaced attribute to django-crispy-form field
我试图将命名空间属性 (x-bind:attr
) 添加到易碎的表单字段,但找不到有效的解决方案。我知道带有破折号的属性是通过使用下划线处理的,我试图通过用双冒号替换双下划线来实现同样的效果,但它没有用,也没有进行替换。
class ChildFormSetHelperUpdate(FormHelper):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.form_tag = False
self.include_media = False
self.layout = Layout(
Div(Field('model', x_bind__disable="disableInput"), css_class='col-md-6'),
)
self.render_required_fields = True```
您可以通过在字典中传递关键字参数并使用 **
unpacking operator:
将其扩展到 Field
的 kwargs 来实现此目的
Field('model', **{"x-bind:disable": "disableInput"})
这解决了不能在 Python 变量名中使用破折号和冒号的事实。该属性将呈现为:
<input ... x-bind:disable="disableInput">
我试图将命名空间属性 (x-bind:attr
) 添加到易碎的表单字段,但找不到有效的解决方案。我知道带有破折号的属性是通过使用下划线处理的,我试图通过用双冒号替换双下划线来实现同样的效果,但它没有用,也没有进行替换。
class ChildFormSetHelperUpdate(FormHelper):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.form_tag = False
self.include_media = False
self.layout = Layout(
Div(Field('model', x_bind__disable="disableInput"), css_class='col-md-6'),
)
self.render_required_fields = True```
您可以通过在字典中传递关键字参数并使用 **
unpacking operator:
Field
的 kwargs 来实现此目的
Field('model', **{"x-bind:disable": "disableInput"})
这解决了不能在 Python 变量名中使用破折号和冒号的事实。该属性将呈现为:
<input ... x-bind:disable="disableInput">