4

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

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

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

谢谢。

4

3 回答 3

6

虽然您可以直接访问 request.POST,但最好访问 form.cleaned_data。这些数据不仅已经过验证,还将为您转换为相关的 Python 类型。

于 2012-06-04T07:19:44.137 回答
4

例如,您可以这样做:

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"]
于 2012-12-13T14:23:12.990 回答
1

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

于 2012-12-13T16:23:49.870 回答