【发布时间】:2021-08-03 15:39:58
【问题描述】:
我正在开发 django 项目,该项目在其 views.py 中返回一个模板,其上下文为: return render_to_response('page.html', context) 这里的 context 是一个字典,包含来自多个模型类的键和值
我只需要返回 json 响应而不是 html 页面。请帮帮我。
【问题讨论】:
标签: python django django-rest-framework
我正在开发 django 项目,该项目在其 views.py 中返回一个模板,其上下文为: return render_to_response('page.html', context) 这里的 context 是一个字典,包含来自多个模型类的键和值
我只需要返回 json 响应而不是 html 页面。请帮帮我。
【问题讨论】:
标签: python django django-rest-framework
您可以创建一个返回 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 操作提供了很多工具。
【讨论】:
如果你只使用 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/
【讨论】: