Django Admin Site的静态媒体文件在哪里?以及如何配置?

时间:2011-11-22 06:33:29

标签: python django

到目前为止,我一直在使用django的稳定版本:1.3,我的settings.py看起来像这样(对于管理站点):

STATIC_URL = '/static/'
ADMIN_MEDIA_PREFIX = '/static/admin/'

我刚刚切换到开发版本,一旦我运行服务器,就会收到以下警告:

DeprecationWarning: The ADMIN_MEDIA_PREFIX setting has been removed; use STATIC_URL instead.
 "use STATIC_URL instead.", DeprecationWarning)

并且,我的管理员网站现在看起来不同(没有所有的CSS,javascript等)。

我尝试将静态网址更改为不同的可能性,并完全删除了管理媒体前缀,但未检索到管理网站的原始外观。

有人可以告诉我如何配置吗?

1 个答案:

答案 0 :(得分:2)

在下一个Django版本中,static files handling的行为类似于旧的django-staticfiles应用程序:

  • 为确保您获得所有应用程序中的所有静态文件,将每个应用程序静态文件放在名为“static”的子目录中
  • 在dev上,一切都由开发服务器自动提供
  • on prod,一切都是从HTTP prod服务器的一个目录中静态提供的。要填写此目录,请使用./manage.py collectstatic

因此您不需要ADMIN_MEDIA_PREFIX,因为管理员静态文件将在开发期间自动投放,或者在投标期间由collectstatic自动收集。

STATIC_URL应与您将提供静态内容的网址相匹配,所有内容均为prod。 STATIC_ROOT应该是您希望collectstatic复制静态文件的目录的绝对路径。