我正在使用Django1.8和Python 2.7。+
我想定义一个包含文本字段的表单,用户可以根据需要插入文本。
我尝试的第一件事就是定义forms.TextField
,但事实证明TextField
仅存在于models
下,而不是forms
下。
这是我定义它的方式:
selected_services = forms.CharField(label="Selected_services *",
max_length=999999999,
widget=forms.Textarea())
但是max_length=999999999,
看起来很糟糕。
定义表单字段以存储非常长的文本会有更优雅的方式吗?
答案 0 :(得分:2)
只有models.CharField
需要max_length
。您可以从forms.CharField
。
除此之外,您当前的代码看起来很好。 TextArea
是正确使用的小部件。
答案 1 :(得分:1)
您的代码应该保持这种方式:
selected_services = forms.CharField(label="Selected_services *",
widget=forms.Textarea())
定义TextArea小部件成为TextField,并且不需要max_length属性
答案 2 :(得分:1)
max_length
属性似乎没有上限。
我已查看source code和this forms documentation
所以你可能想尝试使用sys.maxint
(python 2)或sys.maxsize
(python 3)而不是任意数字。