我的静态文件无法正确提供,因为我的文件夹结构中有一个奇怪的空间。
开发文件夹结构
static
>css
>lots of css files
>js
>img
当我运行 collectstatic 以正确地为它们提供服务时,collect static 将所有内容放入一个名为 staticfiles 的文件夹中,这是我的 settings.py
设置.py
STATIC_DIR = os.path.join(BASE_DIR,'static')
MEDIA_DIR = os.path.join(BASE_DIR, 'media')
STATICFILES_DIRS = [
STATIC_DIR
]
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR,'staticfiles/static')
# MEDIA file defaults
MEDIA_ROOT = os.path.join(BASE_DIR,'staticfiles/media')
MEDIA_URL = '/staticfiles/media/'
我以这种方式使用它,因为这就是它在我的实时服务器上的配置方式。我现在(在我的开发环境中)在项目中有一个名为 staticfiles/static 的文件夹,我可以在其中找到与上面类似的文件夹结构。
staticfiles
>img
>media
>static
>css
>admin
>img
>podcast
>js
但是,一旦我运行了服务器,django 就会认为我的 CSS 文件是“static/%20css/front.css”,因此它不会加载。如果我将 URL 更正为“static/css/front.css”,css 文件会完美加载...?
这是它试图从中获取css的地方:http: //127.0.0.1 :8000/static/%20css/front.css
这是它的实际位置:http: //127.0.0.1 :8000/static/css/front.css
我已经在我的开发静态和静态文件中检查了“css”的文件夹名称,它是正确的。这似乎与它编写文件夹路径的方式有关?