Django存储后端,可用于通过lighttpd的mod_secdownload模块提供文件。此存储后端是FileSystemStorage的扩展,可以生成正确的签名下载URL。
项目描述
Django存储后端,可用于通过lighttpd的mod_secdownload模块提供文件。此存储后端是FileSystemStorage的扩展,可以生成正确的签名下载URL。
安装
pip install django-secdownload-storage
或
easy_install django-secdownload-storage
或通过源代码检出
hg clone https://bitbucket.org/ionelmc/django-secdownload-storage cd django-secdownload-storage python setup.py install
用法
在你的django模型中,你应该将storage=SecDownloadFileSystemStorage()添加到你想通过secdownload提供的字段。
必需设置
SEC_DOWNLOAD_ENABLED = True SEC_DOWNLOAD_SECRET_KEY = 'VERYVERYSECRET' SEC_DOWNLOAD_MEDIA_URL = MEDIA_URL + 'dl/'
示例模型
import secdownload_storage class Foo(models.Model): secret_picture = models.ImageField(upload_to='secret-pictures', storage=secdownload_storage.SecDownloadFileSystemStorage())
你需要启用mod_secdownload并配置类似以下的内容(更多信息请参阅http://redmine.lighttpd.net/wiki/1/Docs:ModSecDownload)
secdownload.secret = "VERYVERYSECRET" secdownload.document-root = "/path/to/media" secdownload.uri-prefix = "/dl/" secdownload.timeout = 3600
此外,请注意,你应该在lighttpd配置中禁止对这些文件的访问,因为它们将与你常规的媒体文件一起提供。例如
$HTTP["url"] =~ "^/media/secret-pictures" { url.access-deny = ("") }
配置
SEC_DOWNLOAD_ENABLED - 将此设置为False以禁用签名URL并像FileSystemStorage一样生成它们。这在开发中很有用(如果你使用django的devserver)。
SEC_DOWNLOAD_SECRET_KEY - 这是用于签名请求的秘密密钥
SEC_DOWNLOAD_MEDIA_URL - 这是当SEC_DOWNLOAD_ENABLED设置为True时用于替代MEDIA_URL的前缀路径。如果SEC_DOWNLOAD_ENABLED设置为False,SecDownloadFileSystemStorage将使用MEDIA_URL作为前缀。
项目详情
关闭
django-secdownload-storage-0.1.1.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 565e0fd05fcc0c7f12ecd621b99d29361f89000620d408c391cd6cdab082c105 |
|
MD5 | 5aca50600dd235ae80e07afaac67980c |
|
BLAKE2b-256 | 1e45bb2eeb77217d654ee66ebcc0bf809f957331cb22fe5a989cc9cfcde28a32 |