Python Django静态文件URL、ROOT、DIR

Python Django静态文件URL、ROOT、DIR,python,django,static,Python,Django,Static,我使用的是Django v1.11。在我设置的设置文件中,我是这样设置的 STATIC_URL = '/static/' STATIC_ROOT = os.path.join(BASE_DIR, "e","static","static_root") STATICFILES_DIRS = [ os.path.join(BASE_DIR, "e","static","static_dir"), ] 首先,我将所有css、js、img文件复制到static_dir文件夹中,然后运行命令

我使用的是Django v1.11。在我设置的设置文件中,我是这样设置的

STATIC_URL = '/static/'

STATIC_ROOT = os.path.join(BASE_DIR, "e","static","static_root")

STATICFILES_DIRS = [
os.path.join(BASE_DIR, "e","static","static_dir"),
  ]
首先,我将所有css、js、img文件复制到static_dir文件夹中,然后运行命令

   python manage.py collectstatic

它将所有文件从static_dir复制到static_root。正如我现在所理解的,我所有的css文件都应该从static_root加载。但是我可以看到css文件是从静态目录加载的。有人能给我解释一下发生了什么吗?我为什么要使用static_root?我找不到static_root的任何用法

可以找到完整的解释

STATIC_ROOT提供了一个方便的管理命令,用于在单个目录中收集静态文件,以便轻松地为它们提供服务。当DEBUG为False时,请在使用collectstatic之前设置其路径

除了在应用程序中使用static/目录外,您还可以在设置文件中定义目录STATICFILES\u DIRS列表,Django也会在其中查找静态文件。例如:

STATICFILES_DIRS = [
    os.path.join(BASE_DIR, "static"),
    '/var/www/static/',
]

那么,当DEBUG=True时,静态文件实际上从何处加载?目录还是根?