У меня проблемы со вставкой, редактированием и удалением данных событий с помощью FullCalendar в разрабатываемом веб-приложении.
Я бы хотел, чтобы все работало на одном экране, то есть когда пользователь выбираетдаты в календаре появляется модал для вставки значений (заголовок и даты), когда вы нажимаете на событие, появляется модал для редактирования события и кнопка для его удаления.
Пока что я могсделать было следующее:
<script>
$(document).ready(function () {
$('#calendar').fullCalendar({
header: {
left: 'prev,next today',
center: 'title',
right: 'month,agendaWeek,agendaDay'
},
navLinks: true,
editable: true,
eventLimit: true,
selectable: true,
selectHelper: true,
select: function (start, end) {
$('#cadastrar #start').val(moment(start).format('DD/MM/YYYY HH:mm:ss'));
$('#cadastrar #end').val(moment(end).format('DD/MM/YYYY HH:mm:ss'));
$('#cadastrar').modal('show');
},
});
});
<script>
В шаблон (повестка дня / повестки дня.html) я сделал это, что соответствует расписанию и модальной, которая открывается при любой дате в календаре
<section class="content">
<div id='calendar'></div>
<div class="modal fade" id="cadastrar" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel"
data-backdrop="static">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span
aria-hidden="true">×</span></button>
<h4 class="modal-title text-center">Cadastrar Evento</h4>
</div>
<div class="modal-body">
<form role="form" action="" method="post">
{% csrf_token %}
<div class="form-group">
{{form.event_name}}
</div>
<div class="form-group">
{{form.start_date}}
</div>
<div class="form-group">
{{form.end_date}}
</div>
<div class="form-group">
{{form.event_type}}
</div>
</form>
</div>
</div>
</div>
</div>
</section>
В models.py созданы следующие
class Event(models.Model):
event_name = 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, null=True, blank=True)
def __str__(self):
return self.event_name
просмотров
class AddEventView(CustomCreateView):
form_class = EventForm
template_name = "agenda/agenda.html"
permission_codename = 'add_event'
def get_context_data(self, **kwargs):
context = super(AddEventView, self).get_context_data(**kwargs)
return context
def get(self, request, *args, **kwargs):
return super(AddEventView, self).get(request, *args, **kwargs)
def post(self, request, *args, **kwargs):
self.object = None
form_class = self.get_form_class()
form = self.get_form(form_class)
if form.is_valid():
self.object = form.save(commit=False)
self.object.save()
return self.form_valid(form)
return self.form_invalid(form)
class EventsListView(CustomListView):
template_name = 'agenda/agenda.html'
model = Event
context_object_name = 'all_eventos'
permission_codename = 'view_eventos'
def get_context_data(self, **kwargs):
context = super(EventosListView, self).get_context_data(**kwargs)
return context
class EditEventView(CustomUpdateView):
form_class = EventForm
model = Event
template_name = "agenda/agenda.html"
permission_codename = 'change_event'
def get_success_message(self, cleaned_data):
def get_context_data(self, **kwargs):
context = super(EditEventView, self).get_context_data(**kwargs)
return context
def post(self, request, *args, **kwargs):
self.object = self.get_object()
form_class = self.get_form_class()
form = form_class(request.POST, instance=self.object)
if form.is_valid():
self.object = form.save()
return self.form_valid(form)
return self.form_invalid(form)
urls
url(r'agenda/add/$',
views.AddEventView.as_view(), name='addeventview'),
url(r'agenda/$',
views.EventsListView.as_view(), name='listeventsview'),
url(r'agenda/edit/(?P<pk>[0-9]+)/$',
views.EditEventView.as_view(), name='editeventview'),
Как я могу назвать модальный, чтобы я мог регистрировать, редактировать и удалять события?Пока модал открывается, но никакой информации не появляется.Проблема, безусловно, заключается в представлении , но как мне сделать так, чтобы оно создавалось, редактировалось и удалялось на одной и той же странице и в одном и том же модале?