将forms.DateField参数放入view方法中

时间:2013-08-23 10:24:43

标签: python django fedora-commons

我有以下问题:

在我的forms.py中,我在课堂上有以下几行:

date_from = forms.DateField(label='date', initial='1800-01-01', widget=SelectDateWidget(years=[y for y in range(1450,2050)])) 

在模板中,我可以选择具体日期。 此参数我想将我的view.py文件传输到以下方法:

def adv_search(request):
    objects = None
    if request.GET.get('key'):
        form = AdvancedSearchForm(request.GET)
        if form.is_valid():
            repo = Repository()
            objects = list(repo.find_objects(date__gt='2012-07-23'))                            
        return render(request, 'templates/adv_search.html', {'form': form, 'objects': objects })
    return render(request, 'templates/adv_search.html', {'form': AdvancedSearchForm(), 'objects': objects})

objects = list(repo.find_objects(date__gt='2012-07-23'))我有date__gt具体日期。

我如何从date__gt添加form.Date.Field日期?

感谢。

1 个答案:

答案 0 :(得分:1)

它位于form.cleaned_data

您可以通过执行以下操作来访问它:

objects = list(repo.find_objects(date__gt=form.cleaned_data['date_from']))  

这假设您的表单声明类似于:

class AdvancedSearchForm(forms.Form):
    date_from = forms.DateField(...) 
    ...