django開發系列:視圖高級之JsonResponse用法

django開發系列:視圖高級之JsonResponse用法

JsonResponse

如果不用JsonResponse,我們一般的做法是,將字典dumpsjson字符串,然後返回將json字符串封裝成Response對象返回給瀏覽器。並且他的Content-Type是application/json。代碼如下:

def jsonresponse_view(request):
    persons = {
        'username': 'zhiliao',
        'age': 18,
        'height': 180
        }

    person_str = json.dumps(person)
    response = HttpResponse(person_str,content_type='application/json')
    return response

使用JsonResponse,代碼就可以簡化:

from django.http import JsonResponse
def index(request):
	persons = {
        'username': 'zhiliao',
        'age': 18,
        'height': 180
        }

    return JsonResponse(persons)

默認情況下JsonResponse只能對字典進行dumps,如果想要對非字典的數據進行dumps,那麼需要給JsonResponse傳遞一個safe=False參數。

from django.http import JsonResponse
def index(request):
    persons = ['張三','李四','王五']
    return HttpResponse(persons)

以上代碼會報錯,應該在使用HttpResponse的時候,傳入一個safe=False參數

return HttpResponse(persons,safe=False)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章