![](/img/trans.png)
[英]How can I make my django app use sqlite in the development server but not on to production server
[英]How can I upload my files to my static server from a production server?
我的生產包裝盒上有django和django的管理員設置。 這意味着所有文件上傳都存儲在生產盒中,所有媒體都存儲在其中。
我現在有一個用於文件的單獨服務器(不同的盒子,ip)。 我想在那里上傳文件。 我考慮過這些方法的優點和缺點是什么,您可以建議“更好”的方法嗎?
rsync
。 upload_to
路徑,在生產盒上設置永久安裝 信息:兩台服務器都運行debian。
編輯 :來自#django的Prometheus建議http://docs.djangoproject.com/en/dev/howto/custom-file-storage/
我使用Fabric 。 您特別感興趣的是fabric.contrib.project.rsync_project() 。
釋義-
Fabric是一個Python庫和命令行工具,用於簡化SSH在應用程序部署或系統管理任務中的使用。
首先使用fabric.contrib.project.upload_project()
上傳整個項目目錄。 從那時起,繼續使用fabric.contrib.project.rsync_project
。 將項目與本地版本同步。 同樣特別有趣的是,它在下面使用unix rsync
並使用安全的scp
來傳輸.tar.gz
數據。
我想這可以滿足您的需求。 可能不需要設置永久性安裝等。
如果您的靜態媒體是從您的開發過程中派生的,那么Fabric是您的最佳選擇。 它可以從任何地方到任何地方自動部署和復制任何東西-數據,應用程序文件,甚至是靜態數據庫轉儲。
如果您的靜態媒體來自應用程序服務器的操作-生成的PDF和圖像,從用戶上傳的文件,已編譯的二進制文件(我有一位客戶希望這樣做,那么Django應用程序將使用原始x86程序集並返回已編譯和鏈接的二進制)-然后您要使用Django Storages ,這是一個為任何ImageField或FileField(或具有Python File-like接口的任何東西)抽象內容的實際存儲的應用程序。 它支持將其存儲在數據庫中,通過FTP以及其他一些存儲到Amazon S3。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.