[Django2.0]匯出匯入工具

這是第三篇關於Django後台管理的相關應用,主要是有個需求要將輸入的資料匯出成Excel或CSV格式,以及可以大量匯入,當然一樣不用重複造輪子,我們採用大神們寫好的套件即可!

採用的工具是 django-import-export ,引用方式如下!

  1. 下載django-import-export
pip install django-import-export

2. 修改settings.py

#於INSTALLED_APP中加入
'import_export',

#於settings.py最後加入
IMPORT_EXPORT_USE_TRANSACTIONS = True #
IMPORT_EXPORT_IMPORT_PERMISSION_CODE = None #設定匯入權限,分為change,add,delete三種搭配admin的權限設定
IMPORT_EXPORT_EXPORT_PERMISSION_CODE = None #設定匯出權限,分為change,add,delete三種搭配admin的權限設定

3. 執行collectstatic (官方文件有寫,目前我沒有做這步驟)

python manage.py collectstatic

4. 調整admin.py

#引入模組
from import_export.admin import ImportExportActionModelAdmin 

#在實際使用model時加入'ImportExportActionModelAdmin'取代' admin.ModelAdmin'
class ContactAdmin( ImportExportActionModelAdmin):
   pass...程式碼忽略

5. 即可以開始用匯出匯入功能

匯出匯入示意
匯出匯入示意

6. 重要說明

我自己在實際測試時候,因為將model的primary_key改名(Django預設為id),但發現匯出可以,匯入會一直出現id錯誤的訊息,所以記得在建立model的時候primary_key採用id ! primary_key採用id ! primary_key採用id ! 很重要!說三次.

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *