Ran*_*ngh 46 django django-models
我有这个模型
summary = models.TextField()
Run Code Online (Sandbox Code Playgroud)
但我想只有4行15列.
此外,如果我这样做,我需要再次安装数据库.
Dom*_*ger 109
TextField是一种字段,ModelForm默认使用时使用Textarea窗口小部件.Fields处理后端存储,使用前端编辑的小部件.
因此,您需要指定要与字段一起使用的窗口小部件.您希望根据文档创建ModelForm并指定widget要使用的内容:
from django import forms
class MyForm(forms.ModelForm):
class Meta:
model = MyModel
widgets = {
'summary': forms.Textarea(attrs={'rows':4, 'cols':15}),
}
Run Code Online (Sandbox Code Playgroud)
rad*_*tek 17
以下是将rows/cols属性更改为textarea的特定于表单的等效项.使用forms.Textarea小部件并设置attrs字典值:
class LocationForm(forms.ModelForm):
auto_email_list = forms.CharField(required=False, widget=forms.Textarea(attrs={'rows': 2, 'cols': 40}))
notes = forms.CharField(required=False, widget=forms.Textarea(attrs={'rows': 4, 'cols': 40}))
class Meta:
model = Location
exclude = ['id']
Run Code Online (Sandbox Code Playgroud)
希望这有助于那些寻找特定形式的人
小智 10
如果你正在使用django-crispy-forms,__init__()你可以在你的函数中访问小部件attrs,如下所示:
self.fields['summary'].widget.attrs['rows'] = 4
self.fields['summary'].widget.attrs['columns'] = 15
Run Code Online (Sandbox Code Playgroud)
我想你可以用非脆性形式的ModelForm这样设置attrs,但你也可以在你的widget定义中做,如上图所示.我刚发现这篇文章,并认为我会分享我是如何用crispyforms做的.
您还可以如下使用jQuery:
$(document).ready(function(){
$("textarea").attr({"rows": "4",
"cols": "15"
});
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
38386 次 |
| 最近记录: |