提供靜態VS媒體提供靜態文件(CSS,JS),我設置的設置:在Django 1.9
STATIC_URL = '/static/'
STATICFILES_DIRS = [
os.path.join(BASE_DIR, "static"),
]
這意味着,我的所有靜態文件需要在項目的根的static
文件夾
/app1
/app2
/media
/statiC#They need to be stored here, all static files
/templates
urls.py
settings.py
manage.py
但是,我將它們存儲在我的應用程序的靜態文件夾中。
/app1/static/ # Storing the static files here
/app2/static/ #and here
/media/
/static/ # but not here
不過,Django的是能夠爲他們服務,這怎麼可能?
我用media
文件試過同樣的事情;設置
MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
並將媒體(圖像等)文件存儲在每個應用程序的各個媒體目錄中。這一次,Django沒有提供這些文件,只有當我將這些文件移動到項目根目錄的media
目錄或將設置更改爲MEDIA_ROOT = os.path.join(BASE_DIR, '<app_name>/media')
時
爲什麼我被允許爲靜態文件提供服務,即使它們不在項目根目錄static
dir但不包含媒體文件 - 它們僅從根目錄media
dir提供。
將這個問題標記爲答案將是很好的。謝謝! – raratiru