我正在使用的框架(django admin)在向数据库添加新项目时会弹出一个新窗口。我想使用灯箱而不是弹出一个新窗口(现在是fancybox),我正在使用iframe选项。但是,当我在iframe中单击“保存”时,会将请求发送到服务器,并且服务器会响应一个只包含javascript代码的页面:opener.dismissAddAnotherPopup(...)。此函数基本上关闭窗口并刷新父(开启者)窗口中的字段。由于我没有设置开启器,它会返回错误并且永远不会关闭iframe。无论如何在iframe上设置开启器以使其不为空?
非常感谢!
杰森
答案 0 :(得分:0)
执行此操作的方法是覆盖发送javascript的管理视图。这些内容包含在django.contrib.admin.options
:ModelAdmin.response_add
和ModelAdmin.response_change
方法中。您可以在模型的管理类中简单地覆盖它们,以便它们返回正确的fancybox结束代码。