Javascript Django/JQuery-基于DB数据更改JQuery日历

Javascript Django/JQuery-基于DB数据更改JQuery日历,javascript,python,jquery,django,model,Javascript,Python,Jquery,Django,Model,作为任务的一部分,我创建了一个“公寓清单”网站。我设法做到了,但现在我需要为它建立一个“预订系统”。 基本思想是,登录用户可以从列出的公寓中选择公寓,选择“开始日期”和“结束日期”(如果公寓尚未预订),然后预订公寓 当用户单击日期输入字段时,会弹出一个jquery日期选择器,然后他可以通过日历选择日期,结束日期也是如此。 一旦他完成预订,我希望日历中的日期被“禁用”,这样就没有人可以选择了 这是我正在使用的日期选择器: https://jqueryui.com/datepicker/ 以及守则

作为任务的一部分,我创建了一个“公寓清单”网站。我设法做到了,但现在我需要为它建立一个“预订系统”。 基本思想是,登录用户可以从列出的公寓中选择公寓,选择“开始日期”和“结束日期”(如果公寓尚未预订),然后预订公寓

当用户单击日期输入字段时,会弹出一个jquery日期选择器,然后他可以通过日历选择日期,结束日期也是如此。 一旦他完成预订,我希望日历中的日期被“禁用”,这样就没有人可以选择了

这是我正在使用的日期选择器:

https://jqueryui.com/datepicker/
以及守则:

    <script>
        $(function () {
            $("#datepicker").datepicker();
        });
    </script>
型号:


等级公寓(模型.模型):
title=models.CharField(最大长度=200)
地址=models.CharField(最大长度=200)
城市=型号.CharField(最大长度=100)
state=models.CharField(最大长度=100)
zipcode=models.CharField(最大长度=20)
description=models.TextField(空白=True)
price=models.IntegerField()
卧室=模型。IntegerField()
浴室=型号。小数点域(最大位数=2,小数点位=1)
garage=models.IntegerField(默认值=0)
size=models.IntegerField()
photo_main=models.ImageField(上传至='photos/%Y/%m/%d/')
photo_1=models.ImageField(上传至='photos/%Y/%m/%d/',blank=True)
photo_2=models.ImageField(上传_至='photos/%Y/%m/%d/',blank=True)
photo_3=models.ImageField(上传至='photos/%Y/%m/%d/',blank=True)
photo_4=models.ImageField(上传至='photos/%Y/%m/%d/',blank=True)
in_rent=models.BooleanField(默认值=False)
list_date=models.DateTimeField(默认为datetime.now,blank=True)
定义(自我):
返回自己的标题
班级预订(models.Model):
公寓=模型。外键(公寓,相关的_name='reservations',
on_delete=models.CASCADE,blank=True,null=True)
开始日期=models.DateField(blank=True,null=True,unique=True)
end_date=models.DateField(blank=True,null=True,unique=True)
name=models.CharField(默认为“”,最大长度为200,唯一性为True)
定义(自我):
返回“预订”
我的表格:

class ReservationForm(forms.ModelForm):
类元:
型号=预订
字段=[
“开始日期”,
“结束日期”,
“姓名”,
]
小部件={
“开始日期”:TextInput(attrs={'id':'datepicker'}),
'end_date':TextInput(attrs={'id':'datepicker2'}),
}
感谢您花时间阅读本文,并感谢您的帮助! 祝你们今天愉快


TLDR:根据db中的数据,我需要“禁用”jquery日历中的某些日期范围

您可以使用
beforeShowDay
函数参数禁用日期

有关更多信息,请查看

$(函数(){
$('.pickWeek').datepicker({
beforeShowDay:函数(日期){return[false,,'';}
})
});


日期:

您可以参考禁用日期选择器这不是我要问的问题,如果让人困惑,很抱歉。我需要一种方法来禁用日历中的日期,因此我需要日历“查看”预订模型,并“禁用”或灰显其中的所有日期。您的意思是要显示日历,但禁用从中选择日期?是的,这是正确的!我需要从数据库查询,并根据数据禁用返回日期的选择!