django-import-export 未显示在管理员中

django-import-export not showing in admin

我在使用 django 导入导出工具时遇到问题。类似于 中描述的那个。问题是那里发布的问题没有解决方案,我非常需要它。我的管理面板中 import/export 的按钮没有显示。是否更改了声明顺序,运行 collectstatic,重新启动服务器...

我需要 django masters 的帮助。

 from django.contrib import admin
    #from actions import export_to_csv
    from import_export import resources
    from import_export.admin import ImportExportModelAdmin, ImportExportMixin, ImportMixin, ExportActionModelAdmin, ImportExportActionModelAdmin
    from .models import Library
    from datetime import datetime
    from django import forms
    from redactor.widgets import RedactorEditor

     # registered models

    class LibraryResource(resources.ModelResource):

        class Meta:
            model = Library

    class LibraryAdmin(ImportExportModelAdmin, admin.ModelAdmin):
        resource_class = LibraryResource

        list_display = ...
        list_display_links = ...
        search_fields =...
        list_filter = ...


        def name(self, obj):
            return obj.library.name
            name.admin_order_field  = 'name'  #Allows column order sorting
            name.short_description = 'Biblioteka'

Remove , admin.ModelAdmin 从此行,它应该开始工作: class LibraryAdmin(ImportExportModelAdmin,admin.ModelAdmin):

  1. 安装 django-import-export 包后使用:

    pip 安装 django-import-export

  2. settings.py 文件中,将 'import_export' 添加到已安装的应用程序列表中:

    INSTALLED_APPS = [ ... 'import_export' ... ]

  3. admin.py 文件中,这里是如何使用 import_export 包:

    从 django.contrib 导入管理员

    从 import_export.admin 导入 ImportExportModelAdmin

    从 .models 导入 Bot

    admin.site.register(机器人,ImportExportModelAdmin)

在我的例子中,我覆盖了 Django 管理列表模板:

{% extends "admin/change_list.html" %}

{% block object-tools-items %}
  {{ block.super }}

  <Code>
{% endblock %}

但是为了显示 import_export 按钮,您需要覆盖它们的模板,所以第一行应该是:

{% extends "admin/import_export/change_list_import_export.html" %}