时间:2021-07-01 10:21:17 帮助过:217人阅读
2.完全弃用Django Model层,纯SQL 转换成JSON格式
1 def getdata(request): 2 # 使用SQL 3 with connection.cursor() as cursor: 4 cursor.execute(‘select id, machine, tomcathome, ipaddress, description from tomcatData‘) 5 data = dictfetchall(cursor) 6 return JsonResponse(data, safe=False, json_dumps_params={‘ensure_ascii‘: False})
JsonResponse 对象:
class JsonResponse
(data, encoder=DjangoJSONEncoder, safe=True, json_dumps_params=None,**kwargs)
这个类是HttpRespon的子类,它主要和父类的区别在于:
1.它的默认Content-Type 被设置为: application/json
2.第一个参数,data应该是一个字典类型,当 safe 这个参数被设置为:False ,那data可以填入任何能被转换为JSON格式的对象,比如list, tuple, set。 默认的safe 参数是 True. 如果你传入的data数据类型不是字典类型,那么它就会抛出 TypeError的异常。
3.json_dumps_params参数是一个字典,它将调用json.dumps()方法并将字典中的参数传入给该方法。
通过以上的解释,上面两个方法的JsonResponse()里面传入的参数就很清晰明了。
这样数据就会以JSON格式传入到前端,前端就能用AJAX获取到,并进行处理或者展示了。
django-将数据库数据转换成JSON格式(ORM和SQL两种情况)
标签:typeerror sql ascii style **kwargs one 抽象 数据类型 ams