我可以找到一个先前的问题:
Using Django and s3boto, some admin images (icon_clock.gif & icon_calendar.gif) don't display
但它已过时(2013年)。我在Ubuntu 14.04.3 LTS上运行django 1.9.1,apache,wsgi。
首先问题是jquery
文件丢失了,但是collectstatic
内的manage.py
(virtualenv
}修复了该问题。但是,仍然缺少两个管理媒体文件。 404 URL调用是:
http://example.com/missing-admin-media-prefix/img/icon_calendar.gif
http://example.com/missing-admin-media-prefix/img/icon_clock.gif
奇怪的URL前缀导致人们找到与该问题相关的几个非常古老的问题,但似乎已经为django 1.9.1折旧了。
我的settings.py
看起来像这样:
STATIC_URL = '/static/'
#ADMIN_MEDIA_PREFIX = '/static/admin/'
#MEDIA_URL = "/media/"
#MEDIA_ROOT = "/home/user/app_root/media/"
STATIC_ROOT = "/home/user/app_root/static/"
已经过时的线条是我在与同一问题相关的过时问题中找到的建议(没有效果)。所有其他静态文件都可以正常工作,包括大多数管理文件。
我已经没想完了。
答案 0 :(得分:3)
django 1.9.1中的这个错误意味着旧版本的javascript文件' django / contrib / admin / static / admin / js / admin / DateTimeShortcuts.js'因为没有' missing-admin-media-prefix'新版本中的文字。
也许您应该只使用shift-F5重新加载页面或清除浏览器缓存。
如果它没有帮助 - 请在浏览器控制台中检查为何使用旧版本的文件。
通过评论中的讨论更新:
问题是由于旧版本的django通过pip全局安装。为解决这个问题,我们采取了以下措施:
1)使用pip uninstall django
和pip3 uninstall django
(在virtualenv之外)删除了旧版全局安装的django;
2)使用python manage.py collectstatic -c
重新收集静态文件,其中-c
是清除现有文件的选项(使用激活的virtualenv);
3)Web服务器重新启动。