我知道,通过视图和网址分派直接从django提供文件和图片不是一种好方法,但如果通过服务器(Apache)提供这些文件和图片,整个世界都可以看到他们。如果某些文件和图片对于用户是私密的,只有连接的用户才能看到这些文件或图片?在这种情况下,我需要由django自己来服务吗?从Django提供媒体文件
1
A
回答
0
要提供私人文档,您应该使用执行安全检查的Python视图。
这是example。
0
如果您使用的是Apache与mod_wsgi的,那么你可以使用mod_xsendfile
你基本上是寻找运行通过Django的一些资源的授权,通过一个头回阿帕奇说,“嘿,伙计,减仓。这个用户可以访问这个'Apache'然后处理返回资源。
粗糙步骤(如,粗糙不够,你需要使用我提供为起点的链接,做一些更多的研究)
Apache需要知道哪些资源是公共的,哪些不是。在这两种类型的媒体下创建一个子目录(为什么不去crazxy并称它们为/ media/public /和/ media/private /)
为公共目录设置别名,为受保护的目录设置WSGIScriptAlias ,受保护的别名将指向你的主站处理器(可能django.wsgi)
添加设置虚拟主机: XSendFile On XSendFileAllowAbove On
添加URL配置到你的Django的应用程序,处理/媒体/保护/ {}什么并通过您的身份验证Django应用程序身份验证逻辑路由它。这样的一个例子是here
另一示例相关问题
- 1. Django:提供管理媒体文件
- 2. Django:提供ADMIN媒体文件
- 3. Django如何提供媒体文件?
- 4. Django:直接从Heroku提供静态,媒体文件
- 5. 在制作中提供django媒体(用户上传的)文件
- 6. Django没有提供用户在heroku上传的媒体文件
- 7. 为什么Django不能提供我的媒体文件?
- 8. 如何通过nginx提供django媒体文件?
- 9. 在生产服务器上用Django提供媒体文件
- 10. django在apache和nginx上都提供媒体文件
- 11. 使用Django直接从heroku提供静态媒体
- 12. 网站不提供媒体文件,但正确提供静态文件
- 13. 媒体文件失败Django
- 14. Django媒体文件GIT
- 15. 提供媒体文件,静态文件不是
- 16. 如何从Django提供文本文件?
- 17. 在Django开发服务器上通过Apache提供媒体文件?
- 18. Django - 使用Apache/Webfaction在制作中提供媒体/管理文件
- 19. 尝试从Django提供csv文件
- 20. Django提供下载文件
- 21. Django,提供静态文件
- 22. Django提供静态文件
- 23. Django提供动态文件
- 24. 权限拒绝媒体文件提供商
- 25. 使用静态服务提供媒体文件。 Dotcloud
- 26. 如何使用Django从.py文件读取媒体文件?
- 27. 从媒体文件夹打开PDF文件Django
- 28. Django - 提供文件供下载
- 29. 我可以添加媒体django媒体文件的权限吗?
- 30. Django的 - 从媒体目录