繁体   English   中英

将命名空间属性添加到 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```

您可以通过在字典中传递关键字参数并使用** 解包运算符将其扩展到Field的 kwargs 来实现此目的:

Field('model', **{"x-bind:disable": "disableInput"})

这解决了不能在 Python 变量名中使用破折号和冒号的事实。 该属性将呈现为:

<input ... x-bind:disable="disableInput">

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM