Javascript Django:ModelForm中的日期选择器

Javascript Django:ModelForm中的日期选择器,javascript,python,jquery,django,Javascript,Python,Jquery,Django,在模型中,我有两个字段,如 from_date = models.DateField() to_date = models.DateField() 在我定义为 widgets = { 'from_date' : DateInput(attrs={'class': 'datepicker'}), 'to_date' : DateInput(attrs={'class': 'datepicker'}), } 在基本html中

在模型中,我有两个字段,如

from_date = models.DateField()
to_date = models.DateField()
在我定义为

widgets =  {
            'from_date' : DateInput(attrs={'class': 'datepicker'}),
            'to_date' : DateInput(attrs={'class': 'datepicker'}),
           }
在基本html中,我将datepicker的jQuery代码编写为

<script>

    $(document).ready(function() {
        $('.datepicker').datepicker(
          {
            minDate : 0,
            beforeShowDay : $.datepicker.noWeekends
          }
        );
    });

    </script>
我的表格.py

class LeaveRequestForm(ModelForm):
class Meta:
    fields = ("name", "employee_ID" ,"department", "designation", "type_of_leave", "from_date", "to_date", "reporting_manager", "reason")
    model = Leave

    widgets =  {
        'name': Textarea(attrs = {'cols' : 20, 'rows': 1}),
        'employee_ID' : Textarea(attrs = {'cols' : 20, 'rows': 1}),
        'from_date' : DateInput(attrs={'class': 'datepicker'}),
        'to_date' : DateInput(attrs={'class': 'datepicker'}),
        'reason_reject' : forms.HiddenInput()

    }
试试这个

 var from_date = models.DateField();//Your From Date
    var to_date = models.DateField();//Your To Date

    if(new Date(to_date) > new Date(from_date))//This Condition Compares both Dates 
    {
         //Your Code
    }
有关更多详细信息,请参阅

 var from_date = models.DateField();//Your From Date
    var to_date = models.DateField();//Your To Date

    if(new Date(to_date) > new Date(from_date))//This Condition Compares both Dates 
    {
         //Your Code
    }

有关更多详细信息,请参考以下创建Django模型

class Request(models.Model):
    from_date = models.DateField(default = timezone.now, blank = True)
    to_date = models.DateField(default = timezone.now, blank = True)
按以下方式填写上述模型的表格

class TimestampForm (forms.Form):
    def clean(self):
        cleaned_data = super(TimestampForm, self).clean()
        from_date = cleaned_data.get("from_date")
        to_date = cleaned_data.get("to_date")
        if from_date > to_date:
            raise forms.ValidationError("'From date' cannot be a later time than 'To date'.")
        if to_date > (timezone.now()):
            raise forms.ValidationError("'To date' cannot be a future time.")
        return cleaned_data
    from_date = forms.DateField(label = 'From Date * ', widget = DateWidget(attrs = {'id':"from_date"}, usel10n = True, bootstrap_version = 3))
    to_date = forms.DateField(label = 'To Date', widget = DateWidget(attrs = {'id':"to_date"}, usel10n = True, bootstrap_version = 3))

使用上述模型和表单,您不必对HTML进行任何修改,即可创建Django模型,如下所示

class Request(models.Model):
    from_date = models.DateField(default = timezone.now, blank = True)
    to_date = models.DateField(default = timezone.now, blank = True)
按以下方式填写上述模型的表格

class TimestampForm (forms.Form):
    def clean(self):
        cleaned_data = super(TimestampForm, self).clean()
        from_date = cleaned_data.get("from_date")
        to_date = cleaned_data.get("to_date")
        if from_date > to_date:
            raise forms.ValidationError("'From date' cannot be a later time than 'To date'.")
        if to_date > (timezone.now()):
            raise forms.ValidationError("'To date' cannot be a future time.")
        return cleaned_data
    from_date = forms.DateField(label = 'From Date * ', widget = DateWidget(attrs = {'id':"from_date"}, usel10n = True, bootstrap_version = 3))
    to_date = forms.DateField(label = 'To Date', widget = DateWidget(attrs = {'id':"to_date"}, usel10n = True, bootstrap_version = 3))

使用上述模型和表单,您不必对HTML进行任何修改

我认为您应该尝试在互联网上找到解决方案,尝试一下,如果遇到困难,进行新的研究,然后再创建新的问题。我认为您应该尝试在互联网上找到解决方案,尝试一下,如果你遇到麻烦,做新的研究,然后再创建新的问题。我已经有了一个模型和模型表单,请检查我更新的问题。我的缺点是以前没有分享它。你能告诉我默认的表单和模型,而不是比较它吗?我们不能禁用所有落后于
from\u date
的日期,这样用户就没有空间选择
to\u date
小于
from\u date
。我已经有了一个模型和模型表单,检查我的最新问题。我的缺点是以前没有共享它。你能告诉我默认的表单和模型,而不是比较它吗?我们不能禁用所有落后于
自\u日期
的日期,这样用户就没有空间选择
至\u日期
小于
自\u日期