我可以使STATICFILES_DIR在Django 1.3中与STATIC_ROOT相同吗?

我使用的Django 1.3,我意识到它有一个collectstatic命令收集静态文件到STATIC_ROOT 。 在这里我有一些其他的全局文件需要使用STATICFILES_DIR来提供。

我可以让他们使用相同的目录吗?

谢谢。

不。事实上, django/contrib/staticfiles/finders.py甚至会检查这一点,并在这样做时引发“ ImproperlyConfiguredexception:

“STATICFILES_DIRS设置不应包含STATIC_ROOT设置”

STATICFILES_DIRS可以包含静态文件的其他目录(不一定是应用程序目录),当您运行collectstatic时,这些静态文件将被收集到您的STATIC_ROOT 。 这些静态文件将由您的Web服务器提供服务,并将从您的STATIC_ROOT

如果当前在您的STATIC_ROOT中有文件需要提供,那么您需要将这些文件移到不同的目录,并将其他目录放在STATICFILES_DIRS 。 你的STATIC_ROOT目录应该是空的,所有的静态文件都应该被收集到那个目录中(即它不应该包含静态文件)。