跳转到主要内容

将文档附加到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 (10.2 kB 查看哈希)

上传时间

由以下支持