我正在使用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_dir加载的。那么有人可以向我解释一下发生了什么吗?我为什么要使用static_root?我找不到任何static_root
的用法答案 0 :(得分:1)
可以找到整个解释there
STATIC_ROOT
提供了一个便捷管理命令,用于在单个目录中收集静态文件,以便您可以轻松地为它们提供服务。当DEBUG
为False
时,请在使用collectstatic
之前设置其路径
除了在应用程序中使用静态/目录外,您还可以在设置文件中定义目录列表(STATICFILES_DIRS
),Django也会在其中查找静态文件。例如:
STATICFILES_DIRS = [
os.path.join(BASE_DIR, "static"),
'/var/www/static/',
]