Jmbo下载
项目描述
Jmbo下载用户指南
Jmbo下载允许您轻松地在Jmbo网站上创建和提供可下载的内容。文件通过管理界面上传,或按请求生成,并由您的Web服务器提供。然后可以跟踪这些下载 - Jmbo下载默认跟踪每个项目的总下载量。
要添加或修改可下载内容,请转到管理界面中的“下载”。基本下载允许您指定要下载的文件,以及可选的用于提供文件的文件名。用户可以通过访问www.yoursite.com/downloads来查看所有下载。
安装
将 downloads 添加到 INSTALLED_APPS。
运行 manage.py migrate downloads(需要South)。
- 如果您正在使用Nginx
在您网站的Nginx配置中定义一个内部位置,在 MEDIA_URL/downloads/(.*)。
将其别名设置为 MEDIA_ROOT/downloads/$1。
如果您正在使用Jmbo与buildout,请将其添加到适当的buildout模板中。
如果您正在使用其他Web服务器,您必须在设置中将 DOWNLOAD_INTERNAL_REDIRECT_HEADER 指定为内部重定向头。
如果文件是远程托管,请将 DOWNLOAD_SERVE_FROM 设置为 'REMOTE'。客户端将被重定向到远程位置。
要求
Django 1.3 及以上版本
Jmbo 及其所有依赖项
South
其他功能(有趣的部分)
生成的文件
您可能想要提供在实时生成的文件,例如包含用户详细信息的 PDF。您可以通过继承 models.TemporaryDownloadAbstract 来实现这一点。子类必须实现函数 def create_file(self, file_path, request)。在此函数中生成您的文件并将其保存到 file_path(包括文件名)。您可以使用 request 对象来访问 user 对象和查询字符串参数。
您可以可选地通过重写 def make_file_name(self, request) 来指定文件名和扩展名。调用超类函数并提供 extension 参数以获取 UUID + 扩展名作为文件名。否则返回您自己的唯一文件名。请注意,如果模型的文件名字段为空,则仅以磁盘上的名称提供服务。如果字段已指定,则所有生成的文件都将使用指定的文件名提供服务。
Jmbo 下载包含 models.TemporaryDownloadAbstract 的唯一实现:models.TextOverlayTemporaryDownload。此下载采用背景图像,在其上绘制一些文本,并将其保存为 JPEG。
请注意,所有生成的文件都是在请求时生成的,并存储在 MEDIA_ROOT/downloads/tmp/ 中。您需要定期清理此文件夹,以避免磁盘空间不足。
下载跟踪
如果您想跟踪的不仅仅是每个项目的下载次数(或查看次数),可以实现对 signals.download_requested 的接收器。信号将传递一个下载实例(作为 sender)和请求对象给接收器。这允许跟踪如每日下载量和用户最喜欢的下载类别等统计信息。
作者
Praekelt Foundation
变更日志
2.0.2
删除显式的 jmbo 版本锁定。
2.0.1
防止数据库和文件系统不同步时的删除错误。
2.0.0
在 jmbo 2.0.0 上稳定。
2.0.0a1
使测试再次通过。
支持 Django 1.6。
将最低 jmbo 提升至 2.0.0。
0.0.8
正确计算下载 URL,尤其是对于临时下载。
大量 PEP8 修复。
0.0.7
临时下载遵循 DOWNLOAD_SERVE_FROM 设置。尽管如此,它们始终在本地文件系统中创建。如果使用 'REMOTE',则开发人员需要将这些文件与远程文件系统同步。
0.0.6
添加 DOWNLOAD_INTERNAL_REDIRECT_HEADER 设置(默认为 'X-Accel-Redirect'),以防使用除 Nginx 之外的 Web 服务器。
添加 DOWNLOAD_SERVE_FROM 设置(默认为 'LOCAL')以指定是否在本地提供服务或重定向到远程位置。
0.0.5
修复了 X-Accel-Redirect 使用文件名覆盖而不是实际文件名来提供服务的问题,如果文件名和覆盖不匹配,则导致 404。
0.0.4 (2012-06-21)
将 jmbo 上的 South 依赖项提升至 0002 迁移。
0.0.3 (2012-06-15)
改进模板,以更好地呈现下载类别。
重写 Jmbo 的 PermittedManager,以排除查询集中不可见的下载。
使 ImageMod 更通用,并将其重命名为 TemporaryDownloadAbstract。
在请求下载时发送信号,允许其他应用程序跟踪下载。
其他小修复。
0.0.2
将所有内容添加到清单中,以进行 PyPI 发布。
0.0.1 (2012-05-28)
初始发布。
项目详细信息
下载文件
下载适合您平台的文件。如果您不确定该选择哪个,请了解更多关于 安装包 的信息。