簡體   English   中英

無法在 Fullcalendar Django 中添加事件

[英]cannot add event in Fullcalendar Django

我無法將事件添加到 Fullcalendar。 似乎 index.html 中的 add_event 和 urls.py 中的 add_event 沒有連接。 我不知道如何在他們之間建立聯系。 每次我在 index.html 中插入數據時,保存在數據庫中的數據總是空的,但它以某種方式保存。 請幫我。 我已經嘗試了很多東西,但它仍然不起作用。

索引.html

<!DOCTYPE html>
<html>
   <head>
      <title>カレンダーサンプル</title>
      <link rel="stylesheet" href="{% static 'fullcalendar/calendar/css/fullcalendar.min.css' %}"/>
      <link rel="stylesheet" href="{% static 'fullcalendar/calendar/css/style.css' %}">
      <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
      <script type="text/javascript" src="{% static 'fullcalendar/calendar/js/moment.min.js' %}"></script>
      <script type="text/javascript" src="{% static 'fullcalendar/calendar/js/fullcalendar.min.js' %}"></script>
      <script type="text/javascript" src="{% static 'fullcalendar/calendar/lang/ja.js' %}"></script>
      <script>
         // ページ読み込み時の処理
         $(document).ready(function () {

         // カレンダーの設定
         $('#calendar').fullCalendar({
            height: 550,
            lang: "ja",
            header: {
               left: 'prev,next today',
               center: 'title',
               right: 'month,basicWeek,basicDay'
            },
            events: [
                    {% for event in events %}
                        {
                            title: "{{ event.title}}",
                            start: '{{ event.start|date:"Y-m-d" }}',
                            end: '{{ event.end|date:"Y-m-d" }}',
                            id: '{{ event.id }}',
                        },
                    {% endfor %}
                ],
            timeFormat: 'HH:mm',
            selectable: true,
            selectHelper: true,
            navLinks: true,
            // eventSources: [{
            //   url: '/fullcalendar/calendar',
            //    dataType: 'json',
            //    async: false,
            //    type : 'GET',
            //    error: function() {
            //       $('#script-warning').show();
            //    }
            // }],
            select: function(start, end, resource) {
               var title = prompt("予定タイトル:");
               var eventData;
               if (title) {
                  eventData = {
                     title: title,
                     start: start,
                     end: end,
                     allDay: true,
                     csrfmiddlewaretoken:$('input[title=csrfmiddlewaretoken]').val()
                  };
                  $('#calendar').fullCalendar('renderEvent', eventData, true);
                  $.ajax({
                     url: '/fullcalendar/add_event',
                     type: "GET",
                     data: JSON.stringify(eventData),
                     success: function(jsonResponse) {
                        alert("予定を登録しました。")
                     },
                     error: function(jsonResponse) {
                        alert("cannot insert!")
                     }
                  });
               }
               $('#calendar').fullCalendar('unselect');
               },
               editable: true,
               eventLimit: true,
            });
         });
      </script>
   </head>
   <body>
      <div id='calendar'></div>
   </body>
</html>

網址.py

def add_event(request):
     title = request.GET.get("title", None)
     start = request.GET.get("start", None)
     end = request.GET.get("end", None)
    #  event = Events(title=str(title), start=start, end=end)
     event = Events.objects.create(
             title = title,
             start = timezone.now(),
             end = timezone.now()
        )
     event.save()
     data = {}

你應該改變

data: JSON.stringify(eventData) 

data: eventData

You've turned your sending data into a JSON string, but it looks like your backend code is expecting individual parameters - which jQuery will encode for you, if you just pass the raw Javascript object into data .

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM