2013-03-20 45 views
2

我想用这个daterange picker我的Django项目Django和日期Twitter的引导

问题范围选取器组件是,我不知道我必须在服务器端(Django的)呢?

可能会创建某种小部件?

可能是子类widgets.MultiWidget?

我认为这个小部件必须像两个DateTimeFields?

这是可能与Django?

+0

你只需要在你的表单定义ID – catherine 2013-03-20 08:38:07

回答

2

鉴于例如输出

MM/DD/YYYY - MM/DD/YYYY 

这是将张贴到你的观点是什么。我只会自己处理这个问题,而不是使用Django表单,并将其存储在两个DateField中。沿此线的东西:

date_range = request.POST['date_range'] 
start_date_string = date_range.split(' - ')[0] 
end_date_string = date.range.split(' - ')[1] 

这将让你你需要的,然后只是简单地将它们传递到DateFields并保存两个字符串。

5

我不得不这样做;所以我在这里分享代码。它基本上重新使用Django DateField

class DateRangeField(forms.DateField): 
    def to_python(self, value): 
     values = value.split(' - ') 
     from_date = super(DateRangeField, self).to_python(values[0]) 
     to_date = super(DateRangeField, self).to_python(values[1]) 
     return from_date, to_date 

date_range = DateRangeField(required=False, 
          widget=forms.TextInput(attrs={'placeholder': _('from'), 
                  'class': 'form-control datepicker'}))