2010-06-18 39 views
1

在将新项目添加到数据库时,我正在使用的框架(django admin)弹出一个新窗口。我想使用灯箱而不是弹出一个新窗口(现在是fancybox),我使用iframe选项。但是,当我单击保存在iframe中时,请求会发送到服务器,并且服务器响应的页面只包含javascript代码:opener.dismissAddAnotherPopup(...)。这个函数基本上关闭窗口并刷新父(开启者)窗口中的字段。由于我没有设置开启器,它会返回一个错误,并且永远不会关闭iframe。无论如何在iframe上设置开启器以便它不会为空?在iframe上设置opener属性

非常感谢!

Jason

回答

0

要做到这一点的方法是覆盖发送JavaScript的管理员视图。这些包含在django.contrib.admin.optionsModelAdmin.response_addModelAdmin.response_change方法中。你可以简单地在你的模型的管理类中覆盖它们,以便它们返回正确的fancybox结束码。

+0

嘿丹尼尔,非常感谢你的回复!然而,我现在的主要问题是在这篇文章中详细说明(如果可能,我宁愿不使用iframe):http://stackoverflow.com/questions/3071338/managementform-data-is-missing-or-has-been-tampered-与-后改变-弹出到 – FurtiveFelon 2010-06-18 19:29:57