Donald Mannise Donald Mannise - 1 year ago 78
JSON Question

Pass python/django variable into javascript as JSON?

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 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:


var data = jQuery.parseJSON("{{appt}}");

var events;
events = [];

$(document).ready(function() {

editable: true,
eventLimit: true, // allow "more" link when too many events
events: events

is not getting properly parsed I believe. When the web page is loaded, the calendar does not display at all.

When I substitute
with the direct string, it does work:

var data = jQuery.parseJSON('{"title": "meeting", "start": "2016-11-20"}');

When I call
I get the following:
enter image description here

So there's something wrong with the way I'm using ths varibale. Any ideas?

2ps 2ps
Answer Source

Just use the safe filter:

var data = jQuery.parseJSON('{{appt | safe}}');

n.b. you can also do this

var apptData = {{ appt | safe }};
Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download