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等)。
我尝试把静态文件的URL改成不同的选项,还完全去掉了管理媒体的前缀,但管理网站的原始样子还是没恢复。
有人能告诉我该怎么配置吗?
1 个回答
2
在下一个Django版本中,静态文件的处理会像以前的django-staticfiles应用那样工作:
- 为了确保你能从所有应用中获取到所有的静态文件,约定是把每个应用的静态文件放在一个叫“static”的子目录里。
- 在开发阶段,所有内容都会由开发服务器自动提供。
- 在生产阶段,所有内容会从一个目录中静态提供给你的HTTP生产服务器。要填充这个目录,可以使用
./manage.py collectstatic
命令。
所以你不需要 ADMIN_MEDIA_PREFIX
,因为管理员的静态文件在开发时会自动提供,或者在生产时会通过 collectstatic
自动收集。
STATIC_URL
应该与生产环境中你提供静态内容的URL相匹配,所有的静态内容都要在这里。STATIC_ROOT
应该是你希望通过 collectstatic
复制静态文件的目录的绝对路径。