Django管理插件,用于将文件附加到具有多文件选择支持的模型实例

django-attach的Python项目详细描述


django attach是一个django管理插件,用于将文件附加到具有多文件选择支持的模型实例。它的主要功能是自定义管理内联
表单。需要一个支持html5和xmlhttprequest2的现代浏览器,
,但当这些功能不可用时,会返回到普通的django内联表单。

编辑现有模型实例,并添加新的模型实例(包括验证错误,当上载的文件在更正错误之前保持与临时对象关联的
,并且可以保存实例时)。
*报告上载进度。
*报告ASYN中的任何错误如果出现长期请求。

installation
----



install from pypi或使用'setup.py':


pip install django attach

=(

"django-attach",
您的应用程序遵循此处。




初始化数据库表并复制静态文件:

python manage.py collectstatic

向模型添加通用关系字段:

从django_attachment.models导入附件
从django.contrib.contenttypes.generic导入genericorrelation



mymodel类(models.model):

attachments=genericorrelation(attachment)

这是访问附件i的方法。在您的程序中。

在中,您应该能够在模型的
更改和添加页面下看到内联附件。您还应该看到一个新的应用程序
django_attach,如果需要,您可以在其中编辑原始附件和临时对象
(如下所述)。

一种可能的用法是允许模型的文本字段(例如文章html内容)直接引用它们。然后,您必须提供一个视图
,该视图在适当的url下为文件提供服务(例如,通过http重定向)。
您还可能需要通过一个过滤器将html内容管道化,该过滤器修改到绝对链接的相对链接(如果您在一个url下显示多个模型的话)。

支持
----

这是django attach的早期版本。因此,它还没有在许多浏览器上进行过全面的测试。

**已知可以工作:**

*firefox 23
*chromium 27

**部分:**

*safari 6 on mountain lion(一次只允许选择一个文件)

**退回到经典表单集内联:**

*ie7
*ie8
*ie9

**breaked:**

*ie10

----


>目录[示例项目](示例项目)包含一个示例
django项目,演示django attach的使用。
有关详细信息,请参阅"示例项目/readme.md"。

ence
——


35;类附件(模型)


附件对象保存单个文件。它们通过
[内容类型](https://docs.djangoproject.com/en/dev/ref/contrib/contenttypes/)
框架与任意
模型实例关联。


**字段**:

-**文件**-附件文件。
-**内容对象**-与附件关联的对象。
-**content_type**-关联模型的contenttype的id。
-**object_id**-关联模型的主键。
-**cr已创建**-创建附件的日期时间。
-**已修改**-上次修改附件的日期时间。

附加到尚未保存的实例的文件与临时对象关联。一旦实例被保存,它们就会被删除。

**字段**:

-**附件**-与临时对象关联的附件。
-**创建**-创建临时对象的日期时间。
-**修改**-上次修改临时对象的日期时间。

\settings

>;提交模型表单时,文件将异步上载
。如果实例尚未创建,
它们与新的临时对象相关联。保存模型实例后,它们将重新附加到实例,并在文件存储中将其移动到适当的位置(`media_root/attachment/<;model>;/<;id>;/`)。
文件删除使用普通隐藏的*-delete字段来实现。在模型表单提交时同步ed。


已知问题
----


*过时的文件(通过模型的"添加"页上载,但其关联的
模型实例最终未保存)需要在管理员的
django_attach应用程序中手动删除。这可以通过删除它们附加到的旧的临时对象来完成。
*django attach还不能完全翻译。


js.org/)和[队列](https://github.com/mbostock/queue)
从[github.com/mbostock](https://github.com/mbostock)下载。
*django attach尚未经过关于遵守
django管理模型权限的良好测试。

在BSD许可下租用。
有关详细信息,请参阅"许可"和"许可.第三方"。

文件名旁边的十字。

![](https://github.com/peterkuma/django attach/raw/master/screenshots/1.png)


提交表单时,将异步上载新附件。显示上传进度。


![](https://github.com/peterkuma/django attach/raw/master/screenshots/2.png)

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

推荐PyPI第三方库


热门话题
html Java spring框架:应用程序上下文不会设置属性   java如何保持已通过电话登录的用户登录   基于LWJGL的二维矩形图像java旋转   java如何将这些图像图标调整到我的棋盘格?   java如何在play框架中禁用http端口?   使用spring4@Transactional时,java事务不起作用   java堆栈由编译器或OS/体系结构创建   用vbscript杀死Java进程   java如何使用ApacheSparkML和两列文本作为特性来训练逻辑回归?   Tomcat上的java ElasticSearch节点客户端无法读取请求数据   java访问SharedReference在Android中不起作用   java流式处理使用springdatamongodb的聚合操作的结果   电子邮件javax。邮政AuthenticationFailedException Java邮件