【问题标题】:Django Form add class to div, input field and labelDjango Form 将类添加到 div、输入字段和标签
【发布时间】:2021-06-21 07:05:00
【问题描述】:

这是为 ImageField 生成的 html django 表单

<div id="div_id_image" class="form-group"> 
    <label for="id_image" class=""> Image </label> 
    <div class=""> <input type="file" name="image" accept="image/*" class="clearablefileinput form-control-file" id="id_image"> 
</div>

现在,我可以编写自定义 html 代码来自定义此字段。但是,我的用例只是添加 3 个类,一个用于外部 div,一个用于标签,一个用于输入字段本身。
是否可以在不编写任何自定义 html 代码的情况下以 django 形式添加这 3 个类

【问题讨论】:

    标签: django django-forms


    【解决方案1】:

    这是可能的。使用“django-widget-tweaks”工具。它将为您的表单提供充分的灵活性。

    查看官方文档:

    https://pypi.org/project/django-widget-tweaks/

    如果你只想从 form.py 添加类名 (你可以试试这个,但代码没有经过测试)

    from django import forms
    
    class xyzform(forms.ModelForm):
        x= forms.CharField(widget= forms.TextInput
                               (attrs={'class':'some_class',
                       'id':'some_id'}))
        y= forms.CharField(widget= forms.TextInput
                               (attrs={'class':'some_class',
                       'id':'some_id'}))
        class Meta:
            model = xyzModal
            fields = [
            'x',
            'y'
            ]
    

    【讨论】:

    • 文档似乎指向在 html 部分修改它。我正在寻找一种在 forms.py 文件中而不是在 form.html 文件中修改它的方法。
    • 检查更新。你可以试试这个,但代码没有经过测试。
    • 但这只会在输入字段上添加类...在标签或 div 标签上没有
    猜你喜欢
    • 1970-01-01
    • 2018-07-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-16
    • 2020-11-08
    • 1970-01-01
    • 2020-11-22
    相关资源
    最近更新 更多