【问题标题】:how to return json response from views.py instead of .html file in django如何从views.py而不是django中的.html文件返回json响应
【发布时间】:2021-08-03 15:39:58
【问题描述】:

我正在开发 django 项目,该项目在其 views.py 中返回一个模板,其上下文为: return render_to_response('page.html', context) 这里的 context 是一个字典,包含来自多个模型类的键和值

我只需要返回 json 响应而不是 html 页面。请帮帮我。

【问题讨论】:

    标签: python django django-rest-framework


    【解决方案1】:

    您可以创建一个返回 JsonResponse 的视图:

    from django.http import JsonResponse
    
    def some_view(request):
        return JsonResponse({'some_key': 'some_value'})

    (...) 是一个字典,包含来自多个模型类的键和值

    您可以简单地将模型对象作为 JSON 传递。在这种情况下,您需要正确序列化。您可以使用Django's serialization framework,或使用Serializer from the Django REST framework。 Django REST 框架还为使用 JSON 或 XML 等进行 CRUD 操作提供了很多工具。

    【讨论】:

      【解决方案2】:

      如果你只使用 Django,你可以使用https://docs.djangoproject.com/en/3.2/ref/request-response/#jsonresponse-objects

      但如果你使用 drf,你可以使用 drf Response's。 https://www.django-rest-framework.org/api-guide/views/

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-10-19
        • 2018-10-14
        • 1970-01-01
        • 1970-01-01
        • 2018-12-24
        • 1970-01-01
        • 2014-10-24
        相关资源
        最近更新 更多