我在模型中有一个字段,我希望用户感觉他们可以编写任意数量的文本.Django在模型中提供了CharField和TextField。我假设不同之处在于其中一个是char(max_length)而另一个是内部的varchar。
我很想使用TextField,但因为它不尊重max_length,所以我有点担心有人将大量数据转储到它并对我的服务器进行DOS操作。我该怎么处理这个?
谢谢!
答案 0 :(得分:7)
模型中的字段仅表示数据存储在数据库中的方式。
您可以非常轻松地在表单中强制执行最大长度,以验证用户的输入。像这样。
class InputForm(forms.Form):
text = forms.CharField(max_length=16384, widget=forms.TextArea)
...
这将确保用户可以成功输入的最大长度为16k。