이 코드를 가지고 있고 그것의 의미를하려고 해요 - 나는 내가 무엇을 말할 수에서장고 자바 스크립트가 설명
{% if book %}
<script type='text/javascript'>
$(document).ready(function() {
$.get('/ajax/book/{{ book.id }}/timetable/', {}, function(data) {
data = JSON.parse(data);
var events = new Array();
for (var i in data) {
events.push({
id: data[i].id,
title: '{{ request.user.name }}',
start: Date.parse(data[i].startTime, "yyyy-MM-dd HH:mm:ss"),
end: Date.parse(data[i].endTime, "yyyy-MM-dd HH:mm:ss"),
allDay: false
});
}
var calendar = $('#calendar').fullCalendar({
header: {
left: 'prev,next today',
center: 'title',
right: 'agendaDay,agendaWeek'
},
theme: true,
contentHeight: 400,
defaultView: 'agendaWeek',
selectable: true,
selectHelper: true,
eventClick: function(calEvent, jsEvent, view) {
},
select: function(start, end, allDay) {
var title = '{{ request.user.name }}';
$.post('/ajax/book/{{ book.id }}/timetable/new/', {
csrfmiddlewaretoken: getCookie('csrftoken'),
startTime: start.format("yyyy-mm-dd HH:MM:ss"),
endTime: end.format("yyyy-mm-dd HH:MM:ss"),
}, function(data) {
calendar.fullCalendar('renderEvent',
{
title: title,
start: start,
end: end,
allDay: allDay
},
true // make the event "stick"
);
});
calendar.fullCalendar('unselect');
},
editable: true,
events: events,
eventResize: function(event, dayDelta, minuteDelta, revertFunc) {
alert(
"The end date of " + event.title + " has been moved " +
dayDelta + " days and " +
minuteDelta + " minutes."
);
if (!confirm("Is this okay?")) {
revertFunc();
}
}
});
});
});
</script>
을 작품 - 어떻게 정말 모르겠어요, 아약스/책/.. ./timetable와 아약스/책 /.../ 시간표/새 통화 book_timetable (요청 ID) 및 book_timetable_new (요청 ID) - 기능은
url(r'^ajax/book/(?P<bookid>\d+)/timetable/$', twobooks.ajax.views.book_timetable),
url(r'^ajax/book/(?P<bookid>\d+)/timetable/new/$', twobooks.ajax.views.book_timetable_new),
-
def book_timetable(request, bookid):
book = get_object_or_404(Book, id=bookid)
rawslots = TimeSlot.objects.filter(user=request.user).filter(book=book)
slots = []
for rawslot in rawslots:
slot = {
'id': rawslot.id,
'startTime': str(rawslot.startTime),
'endTime': str(rawslot.endTime),
}
slots.append(slot)
return HttpResponse(simplejson.dumps(slots))
def book_timetable_new(request, bookid):
book = get_object_or_404(Book, id=bookid)
startTime = datetime.strptime(request.POST['startTime'], "%Y-%m-%d %H:%M:%S")
endTime = datetime.strptime(request.POST['endTime'], "%Y-%m-%d %H:%M:%S")
timeslot = TimeSlot(
user = request.user,
book = book,
startTime = startTime,
endTime = endTime,
)
timeslot.save()
return JSONify("")
다른 데이터를 제외하고 나는 이와 비슷한 것을하려고합니다. 이것이 내가 어떻게 작동 하는지를 알아 내려고하는 이유입니다. 누군가가 내게 그것을 설명 할 수 있다면 그것은 좋을 것이다!
무엇을 이해하지 못합니까? JS, 파이썬, 뭐야? –
글쎄, 일반적으로 무슨 일이 일어나고 있는지 알기 때문에 시간 요청 배열을 얻고 요청을 통해 달력에 표시합니다. 그러나, 템플릿을 호출하는 방법을 이해하지 못하는, 그리고 표현하는 방법, 사용자의 모든 timeslots (모든 도서에 걸쳐) – scubadiver
사실, 나는 JS와 파이썬 이야기하는 방법을 잘 모르겠지만, 더군다나, 나는 JS가 무엇을하고 있는지 확신하지 못한다. (비록 내가 규정 한 작업을 알 필요가 있는지 확신 할 수 없다.) – scubadiver