我正在使用Django 1.3,我意识到它具有 collectstatic 命令,可将静态文件收集到 STATIC_ROOT中 。在这里,我需要使用 STATICFILES_DIR 提供其他一些全局文件。
我可以让他们使用相同的目录吗?
谢谢。
否。实际上,该文件django/contrib/staticfiles/finders.py甚至会对此进行检查并ImproperlyConfigured在执行此操作时引发异常:
django/contrib/staticfiles/finders.py
ImproperlyConfigured
“ STATICFILES_DIRS设置不应包含STATIC_ROOT设置”
该STATICFILES_DIRS可以包含其他目录(不一定是应用程序的目录)与静态文件和这些静态文件将被收集到您STATIC_ROOT,当您运行 collectstatic 。然后,这些静态文件将由您的Web服务器提供,而它们将从您的STATIC_ROOT。
STATICFILES_DIRS
STATIC_ROOT
如果您当前有想要提供的文件STATIC_ROOT,则需要将这些文件移动到其他目录,然后将该另一个目录放在中STATICFILES_DIRS。您的STATIC_ROOT目录应该为空,所有静态文件都应收集到该目录中(即它不应该已经包含静态文件)。