0

我的静态文件无法正确提供,因为我的文件夹结构中有一个奇怪的空间。

开发文件夹结构

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”的文件夹名称,它是正确的。这似乎与它编写文件夹路径的方式有关?

4

0 回答 0