Django网络应用开发的5项基础核心技术包括模型(Model)的设计,URL 的设计与配置,View(视图)的编写,Template(模板)的设计和Form(表单)的使用。
from django.http import JsonResponse
JsonResponse类,它是HttpResponse的子类,它默认的Content-Type头部为 application/json,同时它内部也有JSON encoder,这样就不用再返回响应的时候再序列化数据。
第一个参数, data应该是一个字典类型, 当safe这个参数被设置为:False, 那data可以填入任何能被转换为JSON格式的对象, 比如list, tuple, set。默认的safe参数是True, 如果传入的data数据类型不是字典类型, 那么它就会抛出TypeError的异常。
json_dumps_params参数是一个字典,它将调用json.dumps()方法并将字典中的参数传入给该方法。
参数:
data 要被序列化的数据
encoder 默认是django.core.serializers.json.DjangoJSONEncoder
safe 控制是否只有字典类型的数据才能被序列化
json_dumps_params用于json_dumps是传递的参数
from django.http.response import JsonResponse
def index(request):
data = {
'name': 'Auth',
'location': 'China',
'is_active': True,
'count': 28
}
return JsonResponse(data)
返回模型数据为Json类型
如果想返回Django模型类的数据为JSON,那么做法如下:
记得将对象转换为list类型。
def index(request):
article= Articles.objects.all().values()
articles= list(article)
return JsonResponse(articles,safe=False)