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.
Zuerst mit pip installieren
$ pip install django-import-export
Fügen Sie "import_export" zu INSTALLED_APPS hinzu
# settings.py
INSTALLED_APPS = (
...
'import_export',
)
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 (* ´ω ` *)
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
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!!
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) ♪
Recommended Posts