Django:定义表单以插入长文本的最佳方法?

时间:2018-01-16 09:17:17

标签: python django django-forms

我正在使用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,看起来很糟糕。

定义表单字段以存储非常长的文本会有更优雅的方式吗?

3 个答案:

答案 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 codethis forms documentation

所以你可能想尝试使用sys.maxint(python 2)或sys.maxsize(python 3)而不是任意数字。