这听起来像是一个微不足道的问题,但这对我来说是一场战斗。
对于表单和点击提交,是否应该使用form.cleaned_data
来访问表单数据,或者在request.POST
中查找?
人们通常使用request.POST
做的唯一事情是查找提交按钮。但是如果我创建一个提交按钮作为一个小部件,我也可以在form.cleaned_data中查找它。
问题是,其他表格数据呢?它们也可以在request.POST
中查找。
感谢。
答案 0 :(得分:5)
虽然您可以直接访问request.POST,但最好访问form.cleaned_data。此数据不仅已经过验证,而且还将为您转换为相关的Python类型。
答案 1 :(得分:3)
你可以这样做:
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"]
答案 2 :(得分:0)
你永远不应该使用request.POST数据保存在数据库中,因为form.clean_data遍历所有这些https://docs.djangoproject.com/en/dev/ref/forms/validation/并使你的数据安全处理。