Я думаю, что вопрос запутался относительно того, что вы хотите.Я полагаю, что вы на самом деле не пытаетесь поместить HTML в ответ JSON, а хотите вместо этого вернуть либо HTML, либо JSON.
Во-первых, вам необходимо понять разницу между ними.HTML - это презентационный формат.Это больше касается того, как отображать данные, чем сами данные.JSON - это наоборот.Это чистые данные - в основном JavaScript-представление некоторого набора данных Python (в данном случае), который у вас есть.Он служит просто слоем обмена, позволяя вам перемещать данные из одной области вашего приложения (представления) в другую область вашего приложения (ваш JavaScript), которая обычно не имеет доступа друг к другу.
Имея это в виду, вы не «визуализируете» JSON, и там нет шаблонов.Вы просто конвертируете все данные, которые находятся в игре (скорее всего в значительной степени то, что вы передаете в качестве контекста в ваш шаблон) в JSON.Это можно сделать с помощью библиотеки JSON Django (simplejson), если это данные произвольной формы, или среды сериализации, если это набор запросов.
simplejson
from django.utils import simplejson
some_data_to_dump = {
'some_var_1': 'foo',
'some_var_2': 'bar',
}
data = simplejson.dumps(some_data_to_dump)
Сериализация
from django.core import serializers
foos = Foo.objects.all()
data = serializers.serialize('json', foos)
В любом случае, вы передаете эти данные в ответ:
return HttpResponse(data, content_type='application/json')
[Edit] В Django 1.6 и более ранних версиях код для возвратаОтвет был
return HttpResponse(data, mimetype='application/json')