我有一个django表单,里面有一个日期字段
class SearchForm(Form):
#otherifields
birth_date = forms.DateField(widget=DateInput(attrs={'classs':'datepicker form-control'}))
在我看来,我得到表格发布数据
post_data = form.cleaned_data
并尝试使用
访问日期date = post_data['birth_date']
但无论我是否在模板上设置日期,值都是无。我在我的所有Django项目中使用this作为日期小部件,并且在我的ModelForms中工作正常。但它不会说错误的日期错误等。
我的django视图
def search(request):
form = SearchForm(request.POST or None)
if request.method == 'POST'::
post_data = form.cleaned_data
customers = Customer.objects.filter(first_name__icontains=post_data['first_name'],
last_name__icontains=post_data['last_name'],
middle_name__icontains=post_data['middle_name'],
gender=post_data['gender'],
email__icontains=post_data['email'],
telephone__icontains=post_data['telephone'],
work_phone__icontains = post_data['work_phone'],
mobile__icontains=post_data['mobile'],
address__icontains = post_data['address'],
region__icontains = post_data['region'],
state__icontains = post_data['state'],
municipality__icontains = post_data['municipality'],
postal_code__icontains = post_data['postal_code'],
country__icontains = post_data['country'],
)
if post_data['birth_date']:
customers = customers.filter(birth_date=post_data['birth_date'])
#some other并返回
但如果我print post_data['birth_date']
我总是得到无。可能有什么不对?我错过了表格吗?
答案 0 :(得分:0)
您的代码段
if post_data['birth_date']:
customers.filter(birth_date=post_data['birth_date'])
超出了search
函数的范围。这也可能是它的价值为None