這是第三篇關於Django後台管理的相關應用,主要是有個需求要將輸入的資料匯出成Excel或CSV格式,以及可以大量匯入,當然一樣不用重複造輪子,我們採用大神們寫好的套件即可!
採用的工具是 django-import-export ,引用方式如下!
- 下載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 ! 很重要!說三次.