3

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

替代文字 http://www.cs.wm.edu/~mpd/images/bugs/django-date-local.png

这正如预期的那样。但是,当我部署到我的网络服务器并从那里使用应用程序时,我得到了这个:

替代文字 http://www.cs.wm.edu/~mpd/images/bugs/django-date-server.png

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


更新

  • 该问题似乎已本地化到 Safari。当通过 Firefox 访问管理站点时,会出现“今天”和“现在”按钮。看起来 Safari 无法下载显示这些小部件所需的一些 JavaScript 文件(但奇怪的是 Firefox 可以)。
  • 我注意到 Safari 收到以下文件的“304 Not Modified”代码,但我不确定这意味着什么,或者如何修复它。显然,这些是控制日期/时间小部件的 JavaScript 文件和图像:
    • RelatedObjectLookup.js
    • DateTimeShortcuts.js
    • icon_calendar.gif
    • icon_clock.gif
4

5 回答 5

3

我认为你必须看看你的 firefox 配置和 safary 配置有什么不同

在我的头顶上:

  • 一个可以配置为使用代理(干扰交通),另一个不。确保两者的配置相同。

  • Safari 可能已经缓存了错误,在再次测试之前清除缓存。

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

于 2009-03-15T22:25:08.960 回答
2

如果你在这些文件上得到 304。刷新浏览器的缓存,然后重试。

如果无论如何它都没有再次加载,请确保您获得 200 OK。

于 2009-03-11T20:19:08.173 回答
1

似乎您缺少管理媒体(因此未加载 js 和图像)。我一般做以下。

settings.py

ADMIN_MEDIA_PREFIX = '/media/admin/'

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

ln -s /var/lib/python-support/python2.5/django/contrib/admin/media/ /var/www/media/admin

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

于 2009-01-14T17:55:36.717 回答
0

检查部署服务器上的媒体位置、权限和设置。

http://www.djangobook.com/en/1.0/chapter20/

于 2009-01-14T17:47:43.800 回答
0

您是否尝试过检查 firebug 的 NET 选项卡以查看管理 javascript/css/image 文件是否都正确加载?

我曾经遇到过这个问题。

将开发服务器中的所有这些文件与生产服务器进行比较。

于 2009-01-14T18:06:30.687 回答