Site d'administration de Django, il semble qu'il y ait différents plug-ins lorsque je le vérifie.
Je voulais importer / exporter les données sur l'écran de gestion dans un format tel que CSV, donc Quand je l'ai recherché, je pourrais facilement le faire avec django-import-export. Un mémorandum à l'époque.
Première installation avec pip
$ pip install django-import-export
Ajout de ʻimport_export` à INSTALLED_APPS
# settings.py
INSTALLED_APPS = (
...
'import_export',
)
Ajoutez des paramètres pour les données cibles.
Le modèle d'exemple ressemble à ceci.
# models.py
class Book(models.Model):
name = models.CharField('Book name', max_length=100)
author = models.CharField('Book name', max_length=100)
Paramètres django-import-export.
Ajoutez une classe qui hérite de ModelResource
pour le modèle cible.
Il semble que les éléments liés à la configuration seront écrits ici.
# 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 pour modèle-import-paramètres d'exportation
class Meta:
model = Book
@admin.register(Book)
class BookAdmin(ImportExportModelAdmin):
#Utiliser ImportExportModelAdmin
ordering = ['id']
list_display = ('id', 'title', 'author')
# django-import-exporte les paramètres
resource_class = BookResource
Enfin, préparez une classe Admin qui hérite de ImportExportModelAdmin,
Si vous définissez resource_class sur une classe qui hérite de ModelResource
, c'est OK!
Ensuite, le bouton s'affiche comme ceci. Facile (* ´ω ` *)
Je pensais que je n'avais pas besoin de l'importation séparément, je l'ai donc désactivée. Il semble que seul «Export Mixin» devrait être utilisé.
# ...Abréviation
from import_export.admin import ExportMixin
@admin.register(Book)
class BookAdmin(ExportMixin, admin.ModelAdmin):
#Admin à ExportMixin.OK si vous l'ajoutez à ModelAdmin
ordering = ['id']
list_display = ('id', 'title', 'author')
# django-import-exporte les paramètres
resource_class = BookResource
Par défaut, vous pouvez choisir JSON ou YML, mais vous n'avez besoin que de CSV, donc J'ai réduit les parties qui peuvent être sélectionnées. OK si vous spécifiez des formats
# ...Abréviation
from import_export.formats import base_formats
@admin.register(Book)
class BookAdmin(ImportExportModelAdmin):
ordering = ['id']
list_display = ('id', 'title', 'author')
# django-import-exporte les paramètres
resource_class = BookResource
formats = [base_formats.CSV] #Peut être spécifié dans les formats
c'est tout!!
Nous avons publié "Loading How Match", une application de gestion de lecture pour l'empilement! Reading How Match est développé avec Nuxt.js + Firebase!
Si vous le souhaitez, veuillez jouer ヽ (= ´ ▽ `=) ノ
Si vous avez des demandes, des impressions, des conseils, etc. Sur le compte officiel (@MemoryLoverz) et le développeur (@kira_puka) ♪
Recommended Posts