[PYTHON] Fügen Sie dem Verwaltungsbildschirm mit django-import-export die CSV-Exportfunktion hinzu

Djangos Admin-Site, es scheint, dass es verschiedene Plug-Ins gibt, wenn ich es überprüfe.

Ich wollte die Daten auf dem Verwaltungsbildschirm in einem Format wie CSV importieren / exportieren Als ich es nachgeschlagen habe, konnte ich es leicht mit django-import-export machen. Ein Memorandum zu dieser Zeit.

Installation

Zuerst mit pip installieren

$ pip install django-import-export
Aufbau

Fügen Sie "import_export" zu INSTALLED_APPS hinzu

# settings.py
INSTALLED_APPS = (
    ...
    'import_export',
)
Zu admin.py hinzufügen

Fügen Sie Einstellungen für die Zieldaten hinzu.

Das Beispielmodell sieht so aus.

# models.py
class Book(models.Model):
    name = models.CharField('Book name', max_length=100)
    author = models.CharField('Book name', max_length=100)

Django-Import-Export-Einstellungen.

Fügen Sie eine Klasse hinzu, die "ModelResource" für das Zielmodell erbt. Es scheint, dass hier einstellungsbezogene Elemente geschrieben werden.

# admin.py
from django.contrib import admin
from import_export import resources
from import_export.admin import ImportExportModelAdmin

from .models import Book

class BookResource(resources.ModelResource):
    #Django für Model-import-Exporteinstellungen
    class Meta:
        model = Book


@admin.register(Book)
class BookAdmin(ImportExportModelAdmin):
    #Verwenden Sie ImportExportModelAdmin
    ordering = ['id']
    list_display = ('id', 'title', 'author')

    # django-import-exportiert Einstellungen
    resource_class = BookResource

Bereiten Sie abschließend eine Admin-Klasse vor, die ImportExportModelAdmin erbt. Wenn Sie resource_class auf eine Klasse setzen, die "ModelResource" erbt, ist dies in Ordnung!

Dann wird die Schaltfläche so angezeigt. Einfach (* ´ω ` *)

スクリーンショット 2019-11-27 13.38.26.png

Kleine Geschichte

Nur exportieren: Import deaktivieren

Ich dachte, ich brauche den Import nicht separat, also habe ich ihn deaktiviert. Es scheint, dass nur "Export Mixin" verwendet werden sollte.

# ...Abkürzung
from import_export.admin import ExportMixin

@admin.register(Book)
class BookAdmin(ExportMixin, admin.ModelAdmin):
    #Admin zu ExportMixin.OK, wenn Sie es zu ModelAdmin hinzufügen
    ordering = ['id']
    list_display = ('id', 'title', 'author')

    # django-import-exportiert Einstellungen
    resource_class = BookResource
Geben Sie das Format an, das exportiert werden kann

Standardmäßig können Sie JSON oder YML auswählen, benötigen jedoch nur CSV Ich habe die Teile eingegrenzt, die ausgewählt werden können. OK, wenn Sie Formate angeben

# ...Abkürzung
from import_export.formats import base_formats

@admin.register(Book)
class BookAdmin(ImportExportModelAdmin):
    ordering = ['id']
    list_display = ('id', 'title', 'author')

    # django-import-exportiert Einstellungen
    resource_class = BookResource
    formats = [base_formats.CSV] #Kann in Formaten angegeben werden

das ist alles!!

Ich mache so etwas !!

Wir haben "Loading How Match" veröffentlicht, eine Leseverwaltungs-App zum Stapeln! Reading How Match wurde mit Nuxt.js + Firebase entwickelt!

Wenn Sie möchten, spielen Sie bitte ヽ (= ´ ▽ `=) ノ

Wenn Sie irgendwelche Anfragen, Eindrücke, Ratschläge usw. haben. An das offizielle Konto (@MemoryLoverz) und den Entwickler (@kira_puka) ♪

Referenzierte Site

Recommended Posts

Fügen Sie dem Verwaltungsbildschirm mit django-import-export die CSV-Exportfunktion hinzu
Versuchen Sie, mit django-import-export csv-Daten zu django hinzuzufügen
Schreiben Sie mit Python in csv
Fügen Sie mit ArcPy Felder zu Features hinzu
[Python] Mit Python in eine CSV-Datei schreiben
Behandeln Sie CSV-Dateien mit Django (Django-Import-Export)
Ausgabe in eine CSV-Datei mit Python
Excel, CSV Import / Export mit Django
Ich habe versucht, mit Django eine CSV-Upload-, Datenverarbeitungs- und Download-Funktion zu erstellen
So fügen Sie ein Paket mit PyCharm hinzu
Konvertieren Sie mit pdfplumber von PDF in CSV
Fügen Sie mit Pythonista Bilder zu iOS-Fotos hinzu
Lesen Sie Python csv und exportieren Sie es nach txt
[Teil1] Scraping mit Python → Organisieren Sie bis zu CSV!
Fügen Sie Bildern mit Python2.7 Gaußsches Rauschen hinzu
Erstellen von CSV-Beispieldaten mit Hypothese
Kratzen Sie das Essen mit Python und geben Sie es an CSV aus
Fügen Sie der Pip-Suche Ihre bevorzugte Anzeigefunktion hinzu
Fügen Sie einem leeren Array mit numpy Zeilen hinzu
Exportieren Sie den RDS-Snapshot mit Lambda (Python) nach S3.
Schreiben Sie CSV-Daten mit AWS-Lambda + Python in AWS-S3
Kernel hinzufügen / entfernen, um Jupyter mit venv zu verwenden
Geben Sie die Testfunktion docstring mit pytest-html in den Bericht ein