<include a description of your project>

django-django_csv_exports的Python项目详细描述


允许您将模型导出为CSV文件的管理操作 当然,除了安装之外,还要编写一行代码。

功能

  • 易于安装
  • 高度可定制性
  • 创建时考虑权限
  • 正常默认值

安装

  • Python2.7,3.3+
  • Django>;=1.5

要安装:

pip install django-exports

下一步将django_exports添加到已安装的应用程序中,以包含相关的css/js:

INSTALLED_APPS = (
    # Other apps here
    'django_csv_exports',
)

配置

有两个django设置可用于配置谁可以使用导出操作:

# Use if you want to check user level permissions only users with the can_csv_<model_label>
# will be able to download csv files.
DJANGO_EXPORTS_REQUIRE_PERM = True
# Use if you want to disable the global django admin action. This setting is set to True by default.
DJANGO_CSV_GLOBAL_EXPORTS_ENABLED = False

要导出的字段

默认情况下,模型AR中可用的所有字段都已排序并导出。您可以重写此行为 在管理模型级别。在adminModel中定义以下属性:

class ClientAdmin(CSVExportAdmin):
    csv_fields = ['first_name', 'last_name', 'email', 'phone_number',]

权限

有两种方法可以限制谁可以将数据导出为csv文件。

模型级权限:创建新模型权限并将其仅分配给 应该有权在管理中执行导出操作的用户。

class Client(models.Model):
class Meta:
permissions = ((“can_csv_client”, “Can export list of clients as CSV file”),)

adminmodel级权限:定义具有csv权限的,如果用户应该具有访问权限,则返回true:

class ClientAdmin(admin.AdminModel):
    search_fields = ('name', 'id', 'email')
    csv_fields = ['name', 'id']

    def has_csv_permission(self, request):
        """Only super users can export as CSV"""
        if request.user.is_superuser:
            return True

选择性安装

有时,您不想允许导出所有管理模型。为此,你需要 将django_csv_global_exports_enabled设置为false,并让您的管理模型扩展我们的csvexportadmin 管理类:

from django_csv_exports.admin import CSVExportAdmin

class ClientAdmin(CSVExportAdmin):
    pass

运行测试

您可以使用via运行测试:

python setup.py test

或:

python runtests.py

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java在计算器程序中实现模运算符   java如何从HandlerInterceptorAdapter检索modelAttribute   正在删除java Hazelcast节点   java如何使用MouseMovementListeners链接两个项目?   java EclipseLink/JPA是否有用于修改生成的SQL的插件框架?   解析字符串XML文档时的java NoRouteToHostException   java删除对象变量的所有实例   java按钮单击不切换活动   java JsonObject按键获取值   java为Intellij Idea上的Gradle Runner和JUnit测试设置了环境变量   java在hibernate中删除用户实体时,角色也会被删除   swing Java GUI更新按钮   Java FXML TableView不显示数据   netbeans在java中没有hidapijni。图书馆路径   java如何在简单的日志分析器应用程序中识别日志消息的源   java ArrayList从类对象更简单的方式做?   JavaFX:如何实现自定义工具提示   jakarta ee使用DWR从Java调用Java脚本不更新浏览器中的输入字段   多线程java。在Java中实现ProducerConsumer时lang.IllegalMonitorStateException