如何在Django Admin中关闭弹出窗口

其他

我将Python 3.7.10与Django 3.1.6结合使用,并且使用以下代码创建了一个管理弹出窗口,该弹出窗口将在单击“ edit_link时触发

class EditLinkWidget(forms.URLInput):
    def render(self, name, value, attrs, renderer):
        super().render(name, value, attrs, renderer)
        if not value:
            return ''

        return mark_safe(f'<a class="related-widget-wrapper-link change-related" href="{value}?_to_field=id&_popup=1" '\
                         'data-href-template="{}?_to_field=id&_popup=1">Edit</a>').format(
            re.sub("(\d+)", "__fk__", value))


class PageForm(TranslatableModelForm):
    edit_link = forms.CharField(widget=EditLinkWidget, required=False, disabled=True)

    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)
        if self.instance.pk:
            self.fields['edit_link'].initial = f'/admin/cms/car/{self.instance.car_id}/change/')
    class Meta:
        model = User
        fields = ('edit_link',)

效果很好,但是问题是当我单击“保存”按钮时,弹出窗口不会自动关闭,并引发以下javascript错误:

在此处输入图片说明

有人知道如何修复它,以便可以自动关闭弹出窗口吗?我想它应该以某种方式与父级管理页面通信?

其他

好像我只是错过了向每个弹出窗口添加唯一ID一样。添加后id="{name}",一切正常。最终代码如下所示:

class EditLinkWidget(forms.URLInput):
    def render(self, name, value, attrs, renderer):
        super().render(name, value, attrs, renderer)
        if not value:
            return ''

        return mark_safe(f'<a id="{name}" class="related-widget-wrapper-link change-related" href="{value}?_to_field=id&_popup=1" '\
                         'data-href-template="{}?_to_field=id&_popup=1">Edit</a>').format(
            re.sub("(\d+)", "__fk__", value))


class PageForm(TranslatableModelForm):
    edit_link = forms.CharField(widget=EditLinkWidget, required=False, disabled=True)

    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)
        if self.instance.pk:
            self.fields['edit_link'].initial = f'/admin/cms/car/{self.instance.car_id}/change/')
    class Meta:
        model = User
        fields = ('edit_link',)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何关闭引导中的弹出模式窗口

来自分类Dev

如何关闭fullCalendar中的先前弹出窗口?

来自分类Dev

如何关闭javafx中的弹出窗口?

来自分类Dev

如何在javafx中通过按钮关闭弹出窗口

来自分类Dev

如何自动关闭Javascript和PHP中的新弹出窗口?

来自分类Dev

如何检测iOS 9中何时关闭弹出窗口

来自分类Dev

关闭JavaScript中的弹出窗口后如何刷新父页面?

来自分类Dev

如何关闭VS Code中的快速修复弹出窗口

来自分类Dev

当仅单击html中的按钮时,如何关闭弹出窗口

来自分类Dev

如何从JavaFX中的Controller关闭新的弹出窗口

来自分类Dev

如何关闭KDE托盘中的新闻弹出窗口

来自分类Dev

如何从后台关闭弹出窗口?

来自分类Dev

如何关闭模式弹出窗口?

来自分类Dev

RobotFrameWork 如何关闭弹出窗口

来自分类Dev

如何在Django中测试Bootstrap巡视弹出窗口?

来自分类Dev

如何在Applescript中关闭/取消弹出模式/对话框窗口

来自分类Dev

弹出窗口关闭后,如何在transitionCoordinator中安排新的演示文稿

来自分类Dev

当其父折叠时如何关闭弹出窗口?

来自分类Dev

如何关闭所有弹出窗口?

来自分类Dev

关闭弹出窗口后如何调用函数?

来自分类Dev

如何使用JavaScript关闭弹出窗口

来自分类Dev

如何防止退格键关闭弹出窗口?

来自分类Dev

关闭弹出窗口后如何安装更新?

来自分类Dev

如何使用触发按钮关闭弹出窗口

来自分类Dev

如何仅通过单击关闭弹出窗口?

来自分类Dev

如何在活动中显示弹出窗口?

来自分类Dev

如何在ViewController中显示弹出窗口

来自分类Dev

如何在python中创建弹出窗口?

来自分类Dev

如何在Javascript中创建弹出窗口?

Related 相关文章

热门标签

归档