跳转到主要内容

Jmbo下载

项目描述

Jmbo下载用户指南

Jmbo下载允许您轻松地在Jmbo网站上创建和提供可下载的内容。文件通过管理界面上传,或按请求生成,并由您的Web服务器提供。然后可以跟踪这些下载 - Jmbo下载默认跟踪每个项目的总下载量。

要添加或修改可下载内容,请转到管理界面中的“下载”。基本下载允许您指定要下载的文件,以及可选的用于提供文件的文件名。用户可以通过访问www.yoursite.com/downloads来查看所有下载。

安装

  1. downloads 添加到 INSTALLED_APPS。

  2. 运行 manage.py migrate downloads(需要South)。

  3. 如果您正在使用Nginx
    • 在您网站的Nginx配置中定义一个内部位置,在 MEDIA_URL/downloads/(.*)。

    • 将其别名设置为 MEDIA_ROOT/downloads/$1。

    • 如果您正在使用Jmbo与buildout,请将其添加到适当的buildout模板中。

  4. 如果您正在使用其他Web服务器,您必须在设置中将 DOWNLOAD_INTERNAL_REDIRECT_HEADER 指定为内部重定向头。

  5. 如果文件是远程托管,请将 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

  1. 删除显式的 jmbo 版本锁定。

2.0.1

  1. 防止数据库和文件系统不同步时的删除错误。

2.0.0

  1. 在 jmbo 2.0.0 上稳定。

2.0.0a1

  1. 使测试再次通过。

  2. 支持 Django 1.6。

  3. 将最低 jmbo 提升至 2.0.0。

0.0.8

  1. 正确计算下载 URL,尤其是对于临时下载。

  2. 大量 PEP8 修复。

0.0.7

  1. 临时下载遵循 DOWNLOAD_SERVE_FROM 设置。尽管如此,它们始终在本地文件系统中创建。如果使用 'REMOTE',则开发人员需要将这些文件与远程文件系统同步。

0.0.6

  1. 添加 DOWNLOAD_INTERNAL_REDIRECT_HEADER 设置(默认为 'X-Accel-Redirect'),以防使用除 Nginx 之外的 Web 服务器。

  2. 添加 DOWNLOAD_SERVE_FROM 设置(默认为 'LOCAL')以指定是否在本地提供服务或重定向到远程位置。

0.0.5

  1. 修复了 X-Accel-Redirect 使用文件名覆盖而不是实际文件名来提供服务的问题,如果文件名和覆盖不匹配,则导致 404。

0.0.4 (2012-06-21)

  1. 将 jmbo 上的 South 依赖项提升至 0002 迁移。

0.0.3 (2012-06-15)

  1. 改进模板,以更好地呈现下载类别。

  2. 重写 Jmbo 的 PermittedManager,以排除查询集中不可见的下载。

  3. 使 ImageMod 更通用,并将其重命名为 TemporaryDownloadAbstract。

  4. 在请求下载时发送信号,允许其他应用程序跟踪下载。

  5. 其他小修复。

0.0.2

  1. 将所有内容添加到清单中,以进行 PyPI 发布。

0.0.1 (2012-05-28)

  1. 初始发布。

项目详细信息


下载文件

下载适合您平台的文件。如果您不确定该选择哪个,请了解更多关于 安装包 的信息。

源分发

jmbo-downloads-2.0.2.tar.gz (17.4 kB 查看哈希值)

上传时间

构建分发

jmbo_downloads-2.0.2-py2.7.egg (50.1 kB 查看哈希值)

上传时间

由以下支持