2015-09-18 31 views
0

我試圖在受限制的OpenShift環境中部署Django應用程序,這需要將靜態文件放置在wsgi/public/static中。但是,我做了大量的研究,並且認爲它們必須放入wsgi/staticOpenshift Django - 你可以使用不同於wsgi/static的目錄嗎?

是否可以更改此目錄?

不幸的是,環境只有白名單/public是可訪問的,所有其他URL將被重定向到另一個域上的SSO登錄,因此我認爲您不能使用簡單的URL重寫。

回答

0

django沒有必要把你的文件放在特定的目錄中,如果你有權限,它可以放在你的文件系統的任何地方,它不會與其他東西相沖突。

請記住,此目錄用於收集的靜態文件,您不會將該目錄保留在您的GIT存儲庫中。與您的項目一起工作的靜態文件應該放在其他目錄中,您應該使用./manage.py collectstatic將收集的靜態文件複製或鏈接到目錄中。

這是在Django中完成的,因爲每個可重用的應用程序都可以提供它自己的一組靜態文件,並且它們必須以某種方式從一個位置提供,因此它們將被複制或鏈接到具有收集文件的目錄中。

所以Django的配置應該是這樣的:

STATIC_ROOT = '/path/to/wsgi/public/static' 
STATIC_URL = '/public/static' 

STATICFILES_DIRS = (
    os.path.join(BASE_DIR, 'static/'), # or other path in your project, not necessary defined using BASE_DIR, but it is good approach 
) 

您所有的靜態文件應該進入靜中BASE_DIR,應使用更改後收集./manage.py collectstatic

相關問題