将文档附加到django模型

django-documents的Python项目详细描述


这个简单的应用程序提供:

  • 文档模型具有:
    • 一般的多对多关系
    • 上载到专用目录的文件字段
    • 方法get_download_url()
  • 用于下载文档的视图,该视图允许通过 信号
  • 下载视图发出的一个信号,文档预下载,以及 如果发出信号引发禁止下载,则响应503 例外
  • 干净的管理集成
  • 南部支持

安装django-generic-m2m

请参阅django-generic-m2m installation documentation,执行“安装”和“添加到django项目”。

安装自动完成灯

参考django-autocomplete-light installation documentation,执行“快速安装”和“快速管理集成”。

安装django文档

下载最新版本:

pip install django-documents

或安装开发版本:

pip install -e git+https://github.com/yourlabs/django-documents.git#egg=documents

添加到设置。已安装的应用程序:

'documents',

如果使用南方,请运行:

./manage.py migrate

否则,运行:

./manage.py syncdb

添加到url.py:

url(r'^documents/', include('documents.urls')),

set settings.documents_upload_to上传到绝对路径 储存起来。这必须是一个私有目录。

准备通用的多对多自动完成功能

注册一个generic autocomplete, 名为“autocompletedocumentrelations”。在test_project中有一个例子,它是在urls.py中导入的。 参考django-autocomplete-light documentation about the registry 其他方法。

如果项目已经使用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')

保护文档

连接到文档预导入,例如:

# 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)

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

推荐PyPI第三方库


热门话题
不同窗口中的java视图   java创建SQL插入语句到CSV文件   java效率检查:Opengl动画代码   在clojure中处理Java可选<T>   java理解camel中的输入/输出交换模式行为   对于使用jpackage构建的应用程序,java LSOpenURLsWithRole()失败,错误为10810   多线程Java同步:多重倒计时闩锁   java哪个类应该做这项工作?   java在运行时出现问题。getRuntime()。执行官   java我们不能在GAE中使用集合或集合作为返回类型吗?   amazon web服务返回类型与RequestHandler<Object,String>不兼容。JAVA中的HandlerRequest(对象、上下文)   如何在Java中使用ExecutorService设置任务的超时时间