這是第三篇關於Django後台管理的相關應用,主要是有個需求要將輸入的資料匯出成Excel或CSV格式,以及可以大量匯入,當然一樣不用重複造輪子,我們採用大神們寫好的套件即可!
採用的工具是 django-import-export ,引用方式如下!
- 下載django-import-export
1 |
pip install django-import-export |
2. 修改settings.py
1 2 3 4 5 6 7 |
#於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 (官方文件有寫,目前我沒有做這步驟)
1 |
python manage.py collectstatic |
4. 調整admin.py
1 2 3 4 5 6 |
#引入模組 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 ! 很重要!說三次.