如何在视图Django中更改渲染以返回json

时间:2017-11-14 14:35:34

标签: python django

我在视野中有功能

from django.shortcuts import render
from .models import myModel

def articleTheme(request):
    if request.method == 'POST':
        article_id = request.POST['id']
        article = myModel.objects.get(id=article_id)
        theme = article.theme
        return render(request, 'theme.html', {'newTheme': theme })

现在它正常工作。但我有多余的HTML。我想要返回json对象。 我可以导入和返回什么?

2 个答案:

答案 0 :(得分:8)

使用JsonResponse

from django.http import JsonResponse
..
def articleTheme(request):
    ..
    return JsonResponse({'newTheme': theme })

答案 1 :(得分:0)

您可以使用HttpResponse和JSON格式返回数据,如下所示:

data = {'newTheme': theme}
data = json.dumps(data, cls=DjangoJSONEncoder)
return HttpResponse(data)