45

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

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

谢谢。

4

1 回答 1

91

不。事实上,该文件django/contrib/staticfiles/finders.py甚至会对此进行检查,并ImproperlyConfigured在您这样做时引发异常:

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

可以包含带有静态文件的STATICFILES_DIRS其他目录(不一定是应用程序目录),并且这些静态文件将STATIC_ROOT在您运行时收集到您的collectstatic中。然后,这些静态文件将由您的 Web 服务器提供,它们将从您的STATIC_ROOT.

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

于 2012-08-28T14:22:18.363 回答