无法在 Fullcalendar Django 中添加事件

cannot add event in Fullcalendar Django

我无法将活动添加到全日历。 index.html 中的 add_event 和 urls.py 中的 add_event 似乎没有连接。我不知道如何将它们连接起来。每次我在 index.html 中插入数据时,保存在数据库中的数据总是空的,但它以某种方式保存了下来。请帮我。我已经尝试了很多东西,但它仍然不起作用。

index.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>

urls.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

您已将发送数据转换为 JSON 字符串,但看起来您的后端代码需要单独的参数 - jQuery 将为您编码,如果您只是传递原始数据Javascript 对象变成 data.