使用Django和反向代理服务文件。
项目描述
django-downloadview 使您能够轻松使用 Django
通过Django管理文件(权限、过滤器、生成等);
文件存储在某个地方或以某种方式生成(本地文件系统、远程存储、内存等);
django-downloadview 帮助您用很少的代码流式传输文件;
django-downloadview 通过Nginx的X-Accel或Apache的X-Sendfile等机制,通过反向代理帮助您提高性能。
示例
让我们来服务某个模型文件字段中存储的文件
from django.conf.urls import url, url_patterns
from django_downloadview import ObjectDownloadView
from demoproject.download.models import Document # A model with a FileField
# ObjectDownloadView inherits from django.views.generic.BaseDetailView.
download = ObjectDownloadView.as_view(model=Document, file_field='file')
url_patterns = ('',
url('^download/(?P<slug>[A-Za-z0-9_-]+)/$', download, name='download'),
)
资源
文档:[https://django-downloadview.readthedocs.io](https://django-downloadview.readthedocs.io)
PyPI页面:[http://pypi.python.org/pypi/django-downloadview](http://pypi.python.org/pypi/django-downloadview)
代码仓库:[https://github.com/jazzband/django-downloadview](https://github.com/jazzband/django-downloadview)
错误跟踪器:[https://github.com/jazzband/django-downloadview/issues](https://github.com/jazzband/django-downloadview/issues)
持续集成:[https://github.com/jazzband/django-downloadview/actions](https://github.com/jazzband/django-downloadview/actions)
路线图:[https://github.com/jazzband/django-downloadview/milestones](https://github.com/jazzband/django-downloadview/milestones)