本文概述
- Django> = 1.7
- Django < 1.7
在本文中, 你将学习如何在所有Django版本中正确返回JSON响应。
Django> = 1.7【如何在Django中返回JSON响应】对于较新的django版本, 你可以使用在django.http包中实现的JsonResponse, 这使你的工作更加轻松, 因为你无需提供任何内容类型或其他信息, 而只需提供数据。
from django.http import JsonResponsedef index(request):responseData = http://www.srcmini.com/{'id': 4, 'name': 'Test Response', 'roles' : ['Admin', 'User']}return JsonResponse(responseData)
正如许多Web框架所做的那样, 返回” 类” 作为响应是大多数开发人员的首选方法。
Django < 1.7对于较早的django版本, 你需要返回一个HttpResponse, 其具有JSON的特定内容类型作为第二个参数。
import json# for older versions (and using python <
2.7)#from django.utils import simplejson# and change the json.dumps for simplejson.dumpsfrom django.http import HttpResponsedef index(request):responseData = http://www.srcmini.com/{'id': 4, 'name': 'Test Response', 'roles' : ['Admin', 'User']}return HttpResponse(json.dumps(responseData), content_type="application/json")
注意:如果要在较新的版本上, 仍可以使用此方法。
由于JsonResponse类不存在, 因此你需要使用老式的方法, 编写起来不是那么快, 但是可以使用。
这两个响应的输出为:
{"id":4, "name":"Test Response", "roles":["Admin", "User"]}
如预期的那样。玩得开心 !
推荐阅读
- 如何在ReactJS中创建同步和异步自动完成输入
- 如何在ReactJS中使用Bootstrap 3的组件
- 如何将Markdown渲染为纯React组件
- React Native –为什么它是移动应用程序开发的最佳选择()
- 如何使用CSS创建响应表
- 如何使用CSS将reCAPTCHA元素居中
- 如何高效优雅地管理接口文档
- 复杂多变场景下的Groovy脚本引擎实战
- 一步一步搭建Svn服务之TortoiseSVN基本操作