JsonResponse简单使用

一个简单的django项目

urlpatterns = [
    # views.hello 是执行views中的hello函数
    # name 是URL的别名
    url(r'^hello/', views.hello, name="hello"),
]  

 在views中创建hello 函数

from django.shortcuts import render,HttpResponse
def hello(request):
    """
    # 只能传字符串格式,默认类型为:Content-Type: text/html
    return HttpResponse("hello word !!!")
    """
    return HttpResponse("老男孩")

在前端页面上会显示中文"老男孩"

如果后端是字典,或者列表的情况呢,需要传递到前端页面中呢

from django.shortcuts import render,HttpResponse

def hello(request):
    """
    如果要传json类型就需要通过json进行转换
    """
    import json
    from django.http import JsonResponse

    data_dict = {
        "name":"老男孩",
        "age": 25
    }

    data_list = ['老男孩',
                 '51reboot']

    """
    第一种方法
    return HttpResponse("老男孩") 前端显示utf-8格式
    如果是json类型,需要添加 ensure_ascii=False 否则显示不是utf-8格式
    """
    # return HttpResponse(json.dumps(data_dict,ensure_ascii=False),content_type = "application/json",)
    
    """
    第二种方法
    如果是字典格式可以直接使用JsonResponse
    如果是列表格式,使用JsonResponse,需要添加safe=False
    使用JsonResponse都需要添加 json_dumps_params={'ensure_ascii':False} 否则显示不是UTF-8格式
    """
    # return JsonResponse(data_dict,json_dumps_params={'ensure_ascii':False})
    return JsonResponse(data_list,json_dumps_params={'ensure_ascii':False},safe=False)

   

原文地址:https://www.cnblogs.com/happlyp/p/10555487.html