我正在使用基於django-cms的網站,但遇到了靜態文件的問題。正如我打算將站點部署到OpenShift一樣,我使用django示例來構建站點(https://github.com/openshift/django-example)。這樣,我結束了我的Django項目的下列整體結構:OpenShift的Django cms項目。在哪裏放置靜態文件?
ROOT_FOLDER
WSGI
- 媒體
- 靜態
MY_PROJECT
- 程序my_app
- 模板
所以你看,這是從標準的Django目錄結構略有不同。 Django文檔(https://docs.djangoproject.com/en/1.8/howto/static-files/)已經告訴我下面的:
- 包含在INSTALLED_APPS django.contrib.staticfiles:完成
- 定義靜態URL,例如STATIC_URL ='/ static /':完成
- 使用靜態模板標記來引用靜態文件。 {%靜態 「程序my_app/myexample.jpg」 %}:完成
此外,靜態根被定義爲
STATIC_ROOT = os.path.join(WSGI_DIR, '靜態')
WSGI_DIR指向名爲wsgi的文件夾。
當我嘗試從我的基本模板中引用靜態文件時,我一直在使用Debug = True的開發環境中獲取404s。我曾試圖將它們放置在沒有運氣以下位置:
/WSGI /靜態/
/WSGI /靜態/ my_app應用/
/WSGI/MY_PROJECT /靜態/
/WSGI/MY_PROJECT /靜態/ my_app應用/
/WSGI/MY_PROJECT/my_app應用/靜態/
/WSGI/MY_PROJECT/my_app應用/靜態/ my_app應用/
我應該在哪裏放置靜態文件,並且配置正確?
您運行過'./manage.py collectstatic'嗎? – GwynBleidD
我是否需要在dev中使用'Debug = True'來做到這一點?我正在討論的靜態文件是一些自定義文件,它們被手動放置在靜態文件夾中,因此沒有任何東西可以收集。無論如何,我嘗試運行collectstatic並且它沒有區別(它只是從我安裝的所有應用程序中收集靜態文件,這是沒有必要的,因爲他們已經工作得很好) – ebug