允许django管理变更列表导出到csv的应用程序(django>1.3)
django-exportable-admin的Python项目详细描述
此应用程序提供了一个modeladmin,您可以对其进行子类化以允许 要导出到CSV的变更列表视图。这将添加一个“导出csv”按钮 变更列表的右上角。单击此按钮将导出CSV 包含与变更列表视图相同的列和标题。默认情况下, 最多可导出10000行,但这很容易更改。
django>;1.3是必需的,此时标准变更列表视图()返回 圣殿骑士团这允许我们更改 创建响应,以便我们可以输出csv而不是标准html 查看。django<;=1.3需要此应用程序的早期版本,其中 更改列表视图代码被复制并稍加修改以更改模板 设置下载而不是显示的响应。
注意:如果在modeladmin子类上更改“更改列表模板”,则 “导出CSV”按钮不会出现。您需要手动将其添加到 模板或链接到正确的url(admin:myapp_mymodel_export) 手段。
示例
简单示例:
# myapp/admin.py from django.contrib import admin from django_exportable_admin.admin import ExportableAdmin from models import MyModel class MyModelAdmin(ExportableAdmin): list_display = ('field1','field2','field3') admin.site.register(MyModel, MyModelAdmin)
复杂示例:
# myapp/admin.py from django.contrib import admin from django_exportable_admin.admin import ExportableAdmin from models import MyModel class MyModelAdmin(ExportableAdmin): list_display = ('field1','field2','calculated_field') # adjust the number of results export_queryset_limit = 100 def calculated_field(self, obj): return u"%.3f" % obj.float_field / 33.7 calculated_field.short_description = 'Arbitrary Title' admin.site.register(MyModel, MyModelAdmin)