Django 是一個使用 Python 編寫的 Web 開發(fā)框架,能夠快速構(gòu)建 Web 應用程序。其中一個重要的功能是能夠生成 JSON 文件,方便客戶端進行數(shù)據(jù)交換和數(shù)據(jù)存儲。本文將介紹如何使用 Django 返回 JSON 文件下載。
首先,在 views.py 文件中定義視圖函數(shù),示例代碼如下:
from django.http import HttpResponse, JsonResponse def download_json(request): data = [{'name': 'John', 'age': 25}, {'name': 'Mary', 'age': 30}] response = JsonResponse(data, safe=False) response['Content-Disposition'] = 'attachment; filename="sample.json"' return response
在這個視圖函數(shù)中,我們首先定義了一個包含兩個字典的列表作為數(shù)據(jù)源。然后,我們使用 JsonResponse 將數(shù)據(jù)源轉(zhuǎn)換成 JSON 格式,safe 參數(shù)設置為 False,允許傳輸非字典型數(shù)據(jù)。接著,我們設置了 Content-Disposition 頭部信息,告訴客戶端瀏覽器以下載方式打開 JSON 文件。最后,我們將 JSON 對象作為響應的內(nèi)容返回給客戶端。
接下來,在 urls.py 文件中添加 URL 路由規(guī)則,示例代碼如下:
from django.urls import path from .views import download_json urlpatterns = [ path('download-json/', download_json, name='download_json'), ]
這里我們?yōu)橄螺d JSON 文件的視圖函數(shù)設置了一個名為 download_json 的 URL 路徑。
最后,在模板文件中添加一個超鏈接,指向剛剛定義的 URL 路徑,示例代碼如下:
Download JSON
在這個超鏈接中,我們使用 DTL 的語法指向 download_json 視圖函數(shù)的 URL 路徑,并在鏈接文字中添加了“Download JSON”字樣,以便用戶知道這個鏈接的作用。
現(xiàn)在,當用戶點擊“Download JSON”鏈接時,就會自動下載名為“sample.json”的 JSON 文件。通過這種方式,我們可以輕松地在 Django 中實現(xiàn) JSON 文件下載的功能。