如何在 wagtails 模型管理中添加额外的自定义视图?

问题描述

我正在尝试在 wagtails 模型管理中添加新视图。但我正面临错误。我正在尝试按照此问题中解释的步骤进行操作。 https://github.com/wagtail/wagtail/issues/3336

这是我的代码片段。

class CustomButtonHelper(ButtonHelper):
    # Define classes for our button,here we can set an icon for example
    view_button_classnames = ["button-small","button-secondary"]

    def Nginx_button(self,pk,classnames_add=None,classnames_exclude=None):
        if classnames_add is None:
            classnames_add = []
        if classnames_exclude is None:
            classnames_exclude = []
        classnames = self.inspect_button_classnames + classnames_add
        cn = self.finalise_classname(classnames,classnames_exclude)
        return {
            "url": self.url_helper.get_action_url("Nginx_conf",quote(pk)),"label": "Nginx Conf","classname": cn,"title": "Inspect this %s" % self.verbose_name,}

    def get_buttons_for_obj(
        self,obj,exclude=None,classnames_exclude=None
    ):
        btns = super().get_buttons_for_obj(
            obj,exclude,classnames_add,classnames_exclude
        )
        if "Nginx" not in (exclude or []):
            btns.append(self.Nginx_button(obj))
        return btns


class ClientAdmin(ModelAdmin):
    button_helper_class = TenantButtonHelper
    Nginx_conf_view_class = GenerateNginxConf

    def Nginx_conf_view(self,request,instance_pk):
        kwargs = {'model_admin': self,'instance_pk': instance_pk}
        # May be need here to customize custom functionality
        view_class = self.Nginx_conf_view_class
        return view_class.as_view(**kwargs)(request)

    def get_admin_urls_for_registration(self):
        urls = super().get_admin_urls_for_registration()
        urls = urls + (
            url(self.url_helper.get_action_url_pattern('Nginx_conf'),self.Nginx_conf_view,name=self.url_helper.get_action_url_name('Nginx_conf')),)
        return urls

错误页面

enter image description here

我不知道我错过了什么。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)