在WebFaction典型的Django部署涉及至少兩個應用實例:
- 一個Django應用程序實例您正在運行
- 的符號鏈接到一個靜態的,唯一的應用程序實例
Django的版本
只有靜態應用程序的符號鏈接期望您輸入符號鏈接源的絕對路徑。這應該指向STATIC_ROOT
指定的目錄。
考慮的項目結構:
/my-project/
/my-project/
settings.py
...
/static_assets/ (used for local development. Not typically deployed.)
/static/ (used for production)
這將轉化爲一個目錄結構在WebFaction像:
/home/
/your-account-name/
/webapps/
/your-django-app-name/
/apache2
/bin
/your-django-app-name (synonymous with "my-project" above)
/static/ (this is what your 'static' symlink path)
/lib
/pythonx.y (modules go here. Django lives here)
當您創建「網站」的實例,你會指定你的Django應用程序實例在/
上運行,並在由STATIC_URL
指定的路徑(通常爲/static
)指定的路徑上創建符號鏈接應用程序實例。
你應該WebFaction,這反過來又導致django.contrib.staticfiles
到不服務,它們位於STATICFILES_DIRS
任何文件與DEBUG = False
運行。
希望能幫助你。
Webfaction使用單獨的靜態服務器來爲您的文件提供服務。 –
所以你的意思是我不需要做任何事情,只要我創建另一個靜態和媒體應用程序?我將不得不運行收集靜態相同 – Uma
我實際上創建了2個靜態應用程序在webfaction上,並將它們分配爲靜態和媒體目錄和url。我想這意味着這兩個文件夾將由不同的服務器提供服務。那是對的嗎?我運行collectstatic將所有文件傳輸到靜態文件夾。 – Uma