gpt4 book ai didi

python - django 表单,cleaned_data 为空

转载 作者:行者123 更新时间:2023-12-01 04:59:14 24 4
gpt4 key购买 nike

我一直在玩弄表单,似乎无法理解为什么cleaned_data没有给我任何可用的输出(又名字典似乎完全是空的)。我喜欢做的是在页面上有一个带有两个日期选择器的表单,以便用户可以选择起始日期和截止日期,然后 Django 将查询具有定期热电偶测量的数据库并创建一个表。

View .py

def temperature_data(request):
date_select_form = CalLabDateSelect(request.POST)

if request.method == 'POST':
if date_select_form.is_valid(): # All validation rules pass
print "this should be some date/time data from date_select_form:", date_select_form.cleaned_data
#return HttpResponseRedirect('/test_page/') # Redirect after POST

raw_data = Callab.objects.all().using('devices').order_by('-time')
return render_to_response("temperature_display.html",
locals(),
context_instance=RequestContext(request))

表单.py

def make_custom_datefield(f):
formfield = f.formfield()
if isinstance(f, models.DateField):
formfield.widget.format = '%m/%d/%Y'
formfield.widget.attrs.update({'class':'datePicker', 'readonly':'true'})
return formfield

class CalLabDateSelect(forms.Form):
formfield_callback = make_custom_datefield

当我访问该页面并选择一个日期然后提交表单时,我看到此输出到控制台:

QueryDict: {u'date': [u'10/04/2014'], u'csrfmiddlewaretoken': [u'C5PPlMU3asdFwyma9azFDs4DN33CMmvK']}
this should be some date/time data from date_select_form: {}

我注意到的是字典是空的 {} 但 request.POST 数据显示 10/04/2014???

有什么想法为什么会发生这种情况吗?

非常感谢大家为理解这一点提供的任何帮助!!

最佳答案

您的表单实际上并未定义任何字段,因此我不知道您希望在 clean_data 中获得什么。 formfield_callback 仅在 ModelForm 中有用,它对模型已定义的字段进行操作:但您的表单并不基于模型。

使用模型表单,或在表单类中显式定义表单字段。

关于python - django 表单,cleaned_data 为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26662747/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com