<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