为什么Django管理员“今天”和“现在”按钮不出现在Safari中?

2024-04-29 01:56:55 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在开发一个Django应用程序,它包含一个带有日期/时间字段的模型。在应用程序的本地副本上,该特定型号的管理页面在日期/时间字段中显示了以下内容:

alt text http://www.cs.wm.edu/~mpd/images/bugs/django-date-local.png

这是意料之中的。但是,当我部署到我的web服务器并从那里使用应用程序时,我得到以下信息:

alt text http://www.cs.wm.edu/~mpd/images/bugs/django-date-server.png

服务器上的应用程序与我的本地副本完全相同,但我在服务器上禁用了调试功能(但我认为这不重要……应该吗?)。为什么服务器上的管理应用程序与本地管理应用程序不同?在


更新

  • 这个问题似乎局限于Safari。当通过Firefox访问管理站点时,会出现“Today”和“Now”按钮。看起来Safari无法下载显示这些小部件所需的一些JavaScript文件(不过,Firefox可以这么做)。在
  • 我注意到Safari收到了以下文件的“304未修改”代码,但我不确定这意味着什么,也不知道如何修复它。显然,这些是控制日期/时间小部件的JavaScript文件和图像:
    • RelatedObjectLookup.js
    • DateTimeShortcuts.js
    • icon_calendar.gif
    • icon_clock.gif

Tags: 文件text服务器应用程序httpwww时间副本
3条回答

看起来你缺少管理媒体(因此js和图片没有加载)。我通常做以下事情。在

settings.py

ADMIN_MEDIA_PREFIX = '/media/admin/'

然后我把django.contrib.admin.media的路径符号链接到我的media目录中。说:

^{pr2}$

开发服务器自动为管理媒体服务。但是在生产服务器上,人们通常更喜欢直接从apache(或任何服务器)上处理静态内容。在

如果你得到304份文件。刷新浏览器的缓存并重试。在

如果它没有再次加载,请确保你得到200个好的。在

我想你应该看看你的firefox配置和safary配置有什么不同

在我的头顶上:

  • 一个可以配置为使用代理(扰乱流量),另一个不能。确保两者的配置相同。

  • Safari可以缓存错误,请在再次测试之前清除缓存。

  • 尝试直接从浏览器访问gif文件(通过输入图像的完整url)并在线运行wireshark,比较GET请求和响应。一些不同的东西会帮助你追踪问题。

相关问题 更多 >