Django不想将整个模板包含在HttpResponse中

时间:2014-02-24 15:13:29

标签: ajax django django-views

我有一个这样的视图功能:

from django.http import Http404, HttpResponse
from django.template import Context, loader

from .models import Recipe


def index(request):
    recipes = Recipe.objects.all()
    t = loader.get_template('recipes/index.html')
    c = Context({'object_list': recipes})
    return HttpResponse(t.render(c))

但是因为我想实现一些AJAX,我不想在HttpResponse对象中包含整个渲染模板,只需要将所需的数据传递给AJAX成功函数。

我的问题是:如何让我的视图函数只返回响应中需要的ajax数据,而不需要包含整个模板(就像现在一样)

1 个答案:

答案 0 :(得分:0)

如果你想发送json响应。你可以这样做。

from django.core import serializers


def index(request):
    recipes = Recipe.objects.all()
    data = serializers.serialize('json', recipes)
    return HttpResponse(data, content_type='application/json')