【问题标题】:Django 1.8 admin, blank page displayed after save on popupDjango 1.8 admin,弹出保存后显示空白页面
【发布时间】:2015-08-28 09:58:13
【问题描述】:

我正在使用 Django 1.8。

当我单击外键上的 + 链接以添加模型时,我被重定向到

admin/Language/dictionary/add/?_to_field=id&_popup=1

编辑:[ 这就是问题所在,我被重定向了。 我正在查看一个运行 Django 1.7 的不同项目,并且 + 链接会生成一个新的弹出窗口。]

页面显示正确,我可以成功地将模型保存到数据库中。当我点击保存时,我被重定向到

admin/Language/dictionary/add/?_to_field=id&_popup=1

页面是空白的

我没有使用 grappelli 或任何其他外部应用程序。

我该如何解决这个问题?

为什么重定向到同一个链接而不是返回到我单击 + 号的模型?

编辑: 我返回的页面有以下代码

<html>
  <head><title></title></head>
  <body>
    <script type="text/javascript">
        opener.dismissAddRelatedObjectPopup(window, "7", "Test2");
    </script>
  </body>
</html>

出现 Javascript 错误:

Uncaught TypeError: Cannot read property 'dismissAddRelatedObjectPopup' of null

【问题讨论】:

  • 当您单击 + 时是否会被重定向或表单是否在弹出窗口中打开?另外,如果您打开开发者工具,您会看到任何 Javascript 错误吗?
  • 谢谢,出现 Javascript 错误。未捕获的类型错误:无法读取 null 的属性“dismissAddRelatedObjectPopup”
  • 是全新安装还是您之前安装过 Grapelli 之类的东西?你如何运行你的设置?在使用runserver 或其他方式的调试模式下?
  • 这是 Django 1.6 的全新安装,我升级到 1.7 和 1.8,我正在使用 runserver,并且调试设置为 True。
  • 我明白了,当时肯定有与外键弹出相关的 Javascript 更新(不确定它是在 1.7 还是 1.8 或两者中)。您是否尝试清除浏览器缓存或使用其他浏览器/inkognito 模式?否则,您可以尝试删除 Django 安装并重新安装(或创建新的 virtualenv 并将所有依赖项安装到其中以从新 env 运行设置)

标签: python django django-admin


【解决方案1】:

创建弹出窗口的 javascript 已在 1.61.8 之间更改。 问题是所提供的静态文件来自 Django 1.6。 我删除了旧的静态文件并确保正在提供新文件。

如果您遇到同样的问题,请务必清除浏览器中的缓存数据,并确认静态文件位于正确的位置。

感谢@sthzg 的帮助。

【讨论】:

    猜你喜欢
    • 2012-04-05
    • 1970-01-01
    • 2014-03-03
    • 2017-03-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-10
    • 1970-01-01
    相关资源
    最近更新 更多