Хорошо, я нашел решение!
В основном это было из-за того, что не цитировал результаты.Когда Javascript пытался проанализировать объект, он не был распознан как строка.
Итак, первый шаг:
var js_list = {{django_list}};
изменен на:
var js_list = "{{django_list}}";
ПослеЯ понял, что Django экранирует символы, поэтому мне пришлось заменить их следующим образом:
var myJSONList = (("{{json_list}}").replace(/&(l|g|quo)t;/g, function(a,b){
return {
l : '<',
g : '>',
quo : '"'
}[b];
}));
myData = JSON.parse( myJSONList );
Примечание: я пытался избежать экранирования символов из Django, используя это :
var js_list = "{{json_list|safe}}";
Но это не работает, потому что его путают с кавычками.
Наконец, я нашел способ избежать логики в бэкэнде преобразования в JSON перед отправкой его в Javascript:
var myDjangoList = (("{{django_list |safe}}").replace(/&(l|g|quo)t;/g, function(a,b){
return {
l : '<',
g : '>',
quo : '"'
}[b];
}));
myDjangoList = myDjangoList.replace(/u'/g, '\'')
myDjangoList = myDjangoList.replace(/'/g, '\"')
myData = JSON.parse( myDjangoList );
Я уверен, что это можно улучшить, я позволю вам это;)
Спасибо за ваши ответы
Надеюсь, это поможет кому-то еще!