将文档附加到django模型
项目描述
这个简单的应用程序提供
具有
通用的多对多关系
文件字段,可以上传到私有目录
方法 get_download_url()
下载视图,允许通过信号进行自定义安全检查
一个信号,document_pre_download,由下载视图发出,如果发出信号引发DownloadForbidden异常,则响应503
干净的admin集成
south支持
安装django-generic-m2m
参考django-generic-m2m安装文档,执行“安装”和“添加到您的Django项目”。
安装autocomplete_light
参考django-autocomplete-light安装文档,执行“快速安装”和“快速admin集成”。
安装django-documents
下载最新版本
pip install django-documents
或安装开发版本
pip install -e git+https://github.com/yourlabs/django-documents.git#egg=documents
添加到settings.INSTALLED_APPS
'documents',
如果使用south,则运行
./manage.py migrate
否则,运行
./manage.py syncdb
添加到urls.py
url(r'^documents/', include('documents.urls')),
将settings.DOCUMENTS_UPLOAD_TO 设置为上传应存储的绝对路径。这必须是一个私有目录。
准备通用的多对多自动完成
注册一个名为“AutocompleteDocumentRelations”的通用自动补全,有关示例请参考通用自动补全文档。在test_project中有示例代码,已在urls.py中导入。有关注册的其他方法,请参阅django-autocomplete-light文档。
如果项目已使用django-generic-m2m和django-autocomplete-light,则重新注册项目通用自动补全(name=’AutocompleteDocumentRelations’)是一个很好的解决方案。
# your project specific autocomplete class AutocompleteProject(autocomplete_light.AutocompleteGenericBase): # .... # register for your project needs autocomplete_light.register(AutocompleteProject) # registery for documents relations autocomplete_light.register(AutocompleteProject, name='AutocompleteDocumentRelations')
确保您的文档安全
连接到document_pre_import,例如
# project specific document permissions import documents def document_security(sender, request, document, **kwargs): if not request.user.is_staff: raise documents.DownloadForbidden() documents.document_pre_download.connect(document_security)
项目详情
关闭
django-documents-0.0.3.tar.gz的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 3791bd53cf8866244f397fbf3dbd2a66cb2f67d05aa0bfb23565a7adb78e4804 |
|
MD5 | 5b927975824bece245a997a0b06ef225 |
|
BLAKE2b-256 | 7112a893d363f87f9d21ff30626efc96be07ba2800a78ec9d91886dc1a9b3360 |