Полный календарь не может обновлять и сохранять данные. Я получил сообщение «Вы зарегистрировались», но когда я проверяю базу данных, данные не сохраняются в базе данных. Когда я перезагружаю страницу (index. html), данные исчезают. Когда я перезагружаю carenda / add_event /, данные могут быть сохранены в базе данных. Чтобы получить календарь, я знаю, что мне нужно что-то написать, но я не знаю, что мне писать в пути: «***» в индексе. html. Я искал inte rnet в течение нескольких дней и пытался манипулировать несколькими вещами, но я все еще не могу сделать это. Я все еще очень плохо знаком с Django, Javascript, JSON и Sqlite. Пожалуйста, помогите мне.
index. html
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="{% static 'carenda/css/fullcalendar.min.css' %}"/>
<link rel="stylesheet" href="{% static 'carenda/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 'carenda/js/moment.min.js' %}"></script>
<script type="text/javascript" src="{% static 'carenda/js/fullcalendar.min.js' %}"></script>
<script type="text/javascript" src="{% static 'carenda/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'
},
timeFormat: 'HH:mm',
selectable: true,
selectHelper: true,
navLinks: true,
eventSources: [{
path: '***',
dataType: 'json',
async: false,
type : 'GET',
error: function() {
$('#script-warning').show();
}
}],
select: function(start, end, resource) {
var title = prompt("title:");
var eventData;
if (title) {
// nesting json data
eventData = {
title: title,
start: start,
end: end,
};
$('#calendar').fullCalendar('renderEvent', eventData, true);
//load json project
$.ajax({
path: '/carenda/add_event',
type: "GET",
data: JSON.stringify(eventData),
success: function(data) {
alert("You have registered!")
},
error: function(jsonResponse) {
alert("cannot insert!")
}
});
}
$('#calendar').fullCalendar('unselect');
},
editable: true,
eventLimit: true,
});
});
</script>
</head>
<body>
<div id='calendar'></div>
</body>
</html>
models.py
import datetime
from django.db import models
from django.utils import timezone
class Events(models.Model):
id = models.AutoField(primary_key=True)
title = models.CharField(max_length=255,null=True,blank=True)
start = models.DateTimeField(null=True,blank=True)
end = models.DateTimeField(null=True,blank=True)
def __str__(self):
return self.title
views.py
def add_event(request):
start = request.GET.get("start", None)
end = request.GET.get("end", None)
title = request.GET.get("title", None)
event = Events(name=str(title), start=start, end=end)
event.save()
data = {}
return JsonResponse(data)
urls. py
from django.urls import path
from . import views
app_name = 'carenda'
urlpatterns = [
path('', views.index, name='index'),
path('<int:pk>/', views.detail, name='detail'),
# path('regist/',views.RegistSchedule, name='regist'),
path('add_event/', views.add_event, name='add_event'),
]