您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

更改在Django中使用ModelForm创建的表单元素的宽度

更改在Django中使用ModelForm创建的表单元素的宽度

。这是一种用于定义表示的语言。查看由表单生成代码,记下您感兴趣的字段的ID,并通过CSS更改这些字段的外观。

long_descProductForm中字段的示例(当表单没有自定义前缀时):

#id_long_desc {
    width: 300px;
    height: 200px;
}

是将attrs关键字传递给小部件构造函数

class ProductForm(ModelForm):
    long_desc = forms.CharField(widget=forms.Textarea(attrs={'cols': 10, 'rows': 20}))
    short_desc = forms.CharField(widget=forms.Textarea)
    class Meta:
        model = Product

它的Django的文档中描述

是将newforms的漂亮的声明性界面保留一段时间,然后在自定义构造函数中设置您的小部件属性

class ProductForm(ModelForm):
    long_desc = forms.CharField(widget=forms.Textarea)
    short_desc = forms.CharField(widget=forms.Textarea)
    class Meta:
        model = Product

    # Edit by bryan
    def __init__(self, *args, **kwargs):
        super(ProductForm, self).__init__(*args, **kwargs) # Call to ModelForm constructor
        self.fields['long_desc'].widget.attrs['cols'] = 10
        self.fields['long_desc'].widget.attrs['rows'] = 20

方法具有以下优点:

Go 2022/1/1 18:32:28 有337人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶