我知道,通過視圖和網址分派直接從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的 - 從媒體目錄