<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第三方库


热门话题
我可以用C++代码使用java代码吗?   java使用JSR303在派生类中提供更具体的约束   java在这个查找唯一路径数算法中我做错了什么?   java如何为2个不同的服务提供商使用2个不同的SSL证书?   java在Gridview上绘制文本   java使用连接for循环构建字符串名   java StringBuilder拆分无法处理某些文件   java事件关注EditText   Java Web Start“找不到URL的缓存资源”   java程序从命令行运行的速度比在Eclipse中慢   java为什么HttpServletRequest会截断#字符上的url输入?   java自定义折叠工具栏平滑标题大小调整   使用Mockito对安卓 java中调用另一个静态函数的函数进行单元测试   http在java客户机中使用cachecontrol头   java如何使用。是否使用Delimiter从输入文件中排除标点符号和数字?   使用上下文作为参数/参数的java   java更有效地从Jar中提取文件   java为多个JButton提供相同的actionListener