前置作業
在開始設定之前,若你還沒將環境建立起來的話,先安裝 Django 並建立專案:
# 安裝 Django
python -m pip install Django
# 查看 Django 版本
python -m django --version
# 建立 Django 專案
django-admin startproject <project-name>
專案預設結構如下:
project-name/
├── project-name
│ ├── __init__.py
│ ├── settings.py
│ ├── urls.py
│ ├── wsgi.py
使用 JsonResponse
Django 從 1.7 版本就提供了 JsonResponse 這個相當方便的物件讓我們回傳 JSON 資料。首先,它會將 Content-Type 設定成 application/json,最後再將你傳入的參數轉成 JSON 格式並回傳。使用方式如下:
from django.http import JsonResponse
from django.views import View
class SandboxHandler(View):
def get(self, request):
data = {
'name': 'Django',
'version': '1.x'
}
return JsonResponse(data)
值得注意的是,預設可傳入的參數必須是要 dict 型態。若你想要傳入其他型態的物件並輸出成 JSON 格式,你可以加上 safe=False:
return JsonResponse(other_object, safe=False)
最後,若你不想使用內建的 JSON Encoder,你可以自行指定其他的 Encoder:
return JsonResponse(other_object, encoder=OtherJsonEncoder)
Environment :
・ Unix-like System
Reference :
・ Django