【问题标题】:Django Wagtail: Is there any option to make wagtail fieldPanel disabled?Django Wagtail:是否有任何选项可以禁用 wagtail fieldPanel?
【发布时间】:2020-01-08 17:44:51
【问题描述】:

另一个关于 Wagtail 管理员的问题。我有接收电子邮件的 django 模型。我使用 ModelAdmin 在 Wagtail 中展示这些模型。 我想让它只读。一个好的解决方案是禁用 Wagtail fieldPanels。但如果可能的话,我找不到任何信息。

到目前为止,唯一的解决方法似乎是在里面注册自定义 .js 文件 ModelAdmin 类:

我的 admin.py

class EmailAdmin(ModelAdmin):

    model = Email       
    menu_label = "Emails"
    menu_icon = "mail"
    menu_order = 300
    add_to_settings_menu = False
    exclude_from_explorer = False
    empty_value_display = 'N/A'
    list_per_page = 10
    index_view_extra_js = ["js/wagtail.js",] # extra .js code to disable fields
    list_display = ('subject', 'name_surname', 'phone', 'email', 'text_', 'date', 'sent', 'change_seen')

我想问你是否有一些更原生的 Wagtail 方法如何禁用 fieldPanels。

【问题讨论】:

    标签: python django wagtail


    【解决方案1】:

    class EmailAdmin(ModelAdmin) (reference) 下启用InspectView,然后在其他权限下的组权限分配中,将查看权限分配给电子邮件模型。

    inspect_view_enabled = True
    inspect_view_fields = ['name', 'surname', 'email', 'text' ]
    

    【讨论】:

    • 嗨丹,谢谢你的回复,我知道检查,但这个解决方案破坏了整个面板字段,你只能看到丑陋的文本信息。这就是我不喜欢它的原因,在某些情况下还可以,但我想保留漂亮的鹡鸰文件,只需禁用它们即可。
    • @Nikix 您所说的实际上是一个样式问题,因此您可以在模型管理员中包含index_view_extra_css = ['your_app/extra_styles_admin.css'] 以及上面的内容,并根据需要设置字段的样式。您甚至可以查看 Wagtail 编辑样式表并复制它,然后禁用这些字段。
    • 感谢 Dan 提供的信息,所以还有更多的工作,但它可能是我正在寻找的。​​span>
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多