我应该使用请求中的文本吗?开机自检或form.cleaned_data



这听起来像是一个微不足道的问题,但这对我来说是一场战斗。

对于表单,点击提交,应该使用 form.cleaned_data 来访问表单数据,还是在request.POST中查找?

人们通常对request.POST唯一做的事情就是查找提交按钮。但是,如果我创建了一个提交按钮作为小部件,我也可以在form.cleaned_data中查找它。问题是,其他表单数据呢?它们也可以在request.POST中查找。

谢谢。

虽然你可以访问请求。直接开机自检,最好访问form.cleaned_data。此数据不仅已经过验证,而且还将为您转换为相关的 Python 类型。

你可以做例如:

class YourForm(forms.Form):
    test = forms.CharField(label='A test label', widget=forms.Textarea(attrs={"placeholder":"Your Placeholder", "rows":6, "cols":45}), max_length=150)

if request.method == "POST":
    form = YourForm(request.POST)
    if form.is_valid():
        cleaned_test = form.cleaned_data["test"]

你永远不应该使用请求。POST数据保存在数据库中,因为form.clean_data经历所有这些 https://docs.djangoproject.com/en/dev/ref/forms/validation/,并使您的数据安全处理。

相关内容

最新更新