python – Django中的FullCalendar

python – Django中的FullCalendar,第1张

概述所以,我有预约模特 class Appointment(models.Model): user = models.ForeignKey(User) date = models.DateField() time = models.TimeField() doctorName = models.CharField(max_length=50)` 我想在FullCalen 所以,我有预约模特

class Appointment(models.Model):    user = models.ForeignKey(User)    date = models.DateFIEld()    time = models.TimeFIEld()    doctor@R_403_6889@ = models.CharFIEld(max_length=50)`

我想在FullCalendar工具中实现它.我不知道怎么开始.任何帮助表示赞赏.谢谢.

解决方法 既然你的问题显示你没有尝试任何东西,猜测你知道JavaScript并尝试了一些完整的日历Js.

假设您有一个名为Event的模型,用于在日历中显示不同的事件.

class Events(models.Model):    even_ID = models.autoFIEld(primary_key=True)    event_@R_403_6889@ = models.CharFIEld(max_length=255,null=True,blank=True)    start_date = models.DateTimeFIEld(null=True,blank=True)    end_date = models.DateTimeFIEld(null=True,blank=True)    event_type = models.CharFIEld(max_length=10,blank=True)    def __str__(self):        return self.event_@R_403_6889@

在你的vIEws.py中

def event(request):    all_events = Events.objects.all()    get_event_types = Events.objects.only('event_type')    # if filters applIEd then get parameter and filter based on condition else return object    if request.GET:          event_arr = []        if request.GET.get('event_type') == "all":            all_events = Events.objects.all()        else:               all_events = Events.objects.filter(event_type__icontains=request.GET.get('event_type'))        for i in all_events:            event_sub_arr = {}            event_sub_arr['Title'] = i.event_@R_403_6889@            start_date = datetime.datetime.strptime(str(i.start_date.date()),"%Y-%m-%d").strftime("%Y-%m-%d")            end_date = datetime.datetime.strptime(str(i.end_date.date()),"%Y-%m-%d").strftime("%Y-%m-%d")            event_sub_arr['start'] = start_date            event_sub_arr['end'] = end_date            event_arr.append(event_sub_arr)        return httpResponse(Json.dumps(event_arr))    context = {        "events":all_events,"get_event_types":get_event_types,}    return render(request,'admin/poll/event_management.HTML',context)

最后在您的模板设置完整日历中包含必要的CSS,Js文件和HTML代码.然后,

<script>    $(document).ready(function() {        $('#calendar').fullCalendar({            defaultDate: '2016-07-19',editable: true,eventlimit: true,// allow "more" link when too many events            events: [                {% for i in events %}                {                    Title: "{{ i.event_@R_403_6889@}}",start: '{{ i.start_date|date:"Y-m-d" }}',end: '{{ i.end_date|date:"Y-m-d" }}',},{% endfor %}            ]        });    });</script>

动态地在某些事件上,您需要更改事件,例如通过更改您需要过滤事件的下拉列表,

$(document).ready(function(){        $('.event_types').on('change',function(){            var event_type = $.trim($(this).val());            $.AJAX({                url: "{% url 'manage-event' %}",type: 'GET',data:{"event_type":event_type},cache: false,success: function (response) {                    var event_arr = $.parseJsON(response);                    $('#calendar').fullCalendar('removeEvents');                    $('#calendar').fullCalendar('addEventSource',event_arr);                             $('#calendar').fullCalendar('rerenderEvents' );                },error: function () {                    alert("error");                }            })            })    })
总结

以上是内存溢出为你收集整理的python – Django中的FullCalendar全部内容,希望文章能够帮你解决python – Django中的FullCalendar所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1195001.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存