Woking on personal project website with django 1.9 and python 3.4. I am using FullCalendar. The idea is to pass a set of appointment objects into the html page containing the javascript for the calendar. But right now, I am just trying to pass a single default appointment.
In views.py I have the following:
appt = json.dumps({ "title": "meeting", "start": "2016-11-20"});
return render(request, 'healthnet/profile_patient.html', {'patient': patient, 'appt': appt_set})
In profile_patient.html:
<script>
var data = jQuery.parseJSON("{{appt}}");
var events;
events = [];
events.push(data);
$(document).ready(function() {
$('#calendar').fullCalendar({
editable: true,
eventLimit: true, // allow "more" link when too many events
events: events
});
});
</script>
appt
is not getting properly parsed I believe. When the web page is loaded, the calendar does not display at all.
When I substitute appt
with the direct string, it does work:
var data = jQuery.parseJSON('{"title": "meeting", "start": "2016-11-20"}');
When I call alert("{{appt}}");
i get the following:
So there's something wrong with the way I'm using ths varibale. Any ideas?
Just use the safe filter:
var data = jQuery.parseJSON('{{appt | safe}}');
n.b. you can also do this
var apptData = {{ appt | safe }};
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With