【Django】Excel 및 CSV 형식으로 DB 테이블을 가져오고 내보내기

구현하는 것


  • 관리자 화면에 다음 버튼을 추가합니다.
  • 가져오기
  • 내보내기

  • DB 테이블의 권한으로 표시를 제어한다.
  • 가져오기: 쓰기 권한 필요
  • 내보내기 : 누구나 OK


  • 이것들은, django-import-export 라고 하는 라이브러리로 실현합니다.
    django-import-export의 사용법 (도입 방법) 정리 기사입니다.

    권한 계정



    이번에는 다음 권한을 가진 계정을 만들었다.
  • admin: 모든 권한
  • guest: 읽기 권한만

  • 화면 표시



    admin으로 로그인한 경우



    ← 이 버튼이 추가된다


    guest로 로그인하면



    ← 이 버튼이 추가된다



    가져오기 화면



    형식은 아래와 같습니다. 풍부.


    내보내기 화면



    형식은 아래와 같습니다. 수입보다 더 풍부.


    구현



    설치



    django-import-export
    htps : // d짱고이 m포 rt-에 x포 rt. Red d. cs. 이오 / 엔 / 아 st /
    pip install django-import-export
    

    setting.py에 쓰기



    setting.py
    # インストールアプリ
    INSTALLED_APPS = (
        ...
        'import_export',
    )
    
    # 管理サイトでのインポート機能は権限が必要と設定する
    IMPORT_EXPORT_IMPORT_PERMISSION_CODE = 'change'
    
    

    정적 파일 내보내기


    python manage.py collectstatic
    

    admin.py에 쓰기


    model.pyBook 라는 이름의 테이블이 있다고 가정

    admin.py
    from django.contrib import admin
    from import_export import resources
    from import_export.admin import ImportExportModelAdmin
    from .models import *
    
    
    # リソース
    class BookResource(resources.ModelResource):
        class Meta:
            model = Book
    
    # 管理
    class BookAdmin(ImportExportModelAdmin):
        resource_class = BookResource
    
    # 登録
    admin.site.register(Book, BookAdmin)
    

    한 사람



    간단하고 고기능! 훌륭합니다.
    이번에는 모든 파일의 내보내기였지만 필터도 가능하다.
    도전해보고 싶다.

    좋은 웹페이지 즐겨찾기