【问题标题】:Django/IE8 Admin Interface WeirdnessDjango/IE8 管理界面怪异
【发布时间】:2009-10-30 14:28:37
【问题描述】:

尊敬的 Django 专家和用户:

我一直在使用 Django 的管理界面来满足一些数据编辑需求。我在 Windows Server 2008 上使用它,并使用 django-mssql 连接到 SQL Server 后端。 Python 2.6.2 Django 1.1.0 最终版 0

像往常一样,使用 Django,这很容易设置,并且在 Firefox 上运行良好,但是使用 IE8 时,我在保存记录时间歇性地得到一个令人费解的“Internet Explorer 无法显示此网页”。

在日志中,看起来通常在保存时有一个返回 302 状态的 POST 请求,然后是一个返回可爱 200 的 GET。这是在 Firefox 上。在 IE8 上看起来有时 POST 有效,但 GET 无效。

所以这就是我要做的。对此的任何帮助将不胜感激。谢谢。

【问题讨论】:

    标签: django internet-explorer django-admin


    【解决方案1】:

    我怀疑这个错误是由于 IE8 拒绝正确处理重定向。

    302 POST 推送到浏览器到 200 GET,但是如果浏览器从不处理 302,那么 Django(或服务器)将不会记录 200 GET,因为浏览器从未打开过页面(服务器只能记录什么被访问,因此浏览器没有进行调用)。

    如果您有 Django 支持某些东西(使用 FastCGI 或 Apache 或其他东西的 IIS),请检查日志以确保呈现时没有静默错误。我在 Vista x64 Ultimate IE8 Beta 2 上遇到了同样的问题,但兼容模式似乎在一定程度上解决了这个问题——仍然有一些间歇性拒绝重定向。

    【讨论】:

    • 感谢您的回复。更多信息 - 在玩它的同时,我的 Mac 上还有一个 Django 应用程序,在后端点击 SQLite。我可以从另一台使用 IE8 的机器上毫无顾虑地访问它。不幸的是,我在那里更改了 2 个变量(操作系统和数据存储),但这让我现在对 django-mssql 感到好奇。此外,它并不落后于任何东西——现在只是原始的 Django。
    【解决方案2】:

    我意识到这篇文章现在有点老了,但我最近有完全相同的症状。经过一番挖掘,我发现 IE8 在接受生命周期不到 20 分钟的 cookie 时存在问题。

    在我们的 Django 项目的 settings.py 中,我们将属性 SESSION_COOKIE_AGE 设置为 10 分钟。一旦我把它调到 20 分钟,IE8 登录就没有问题了。

    【讨论】:

    • 感谢您的帖子。我试过了,SESSION_COOKIE_AGE = 1200,但我仍然收到“无法显示页面”错误。自发布以来,我发现几乎没有人使用管理员是 IE8 用户,所以一切都很好,但最好知道为什么事情会变得奇怪......
    猜你喜欢
    • 1970-01-01
    • 2016-05-08
    • 2015-06-11
    • 1970-01-01
    • 1970-01-01
    • 2018-06-27
    • 1970-01-01
    • 1970-01-01
    • 2016-04-17
    相关资源
    最近更新 更多