You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Wagtail 6.x.x移除insert_editor_css hook后,如何为编辑页添加原CSS?

在Wagtail 6.x中实现编辑器页面专属CSS加载

Wagtail 6.x移除了insert_editor_css钩子,可改用insert_admin_css钩子结合请求路径判断,实现仅为编辑页面加载原有CSS的需求,具体修改如下:

替换后的代码实现

from wagtail import hooks
from django.utils.html import format_html
from django.templatetags.static import static
from django.conf import settings

@hooks.register('insert_admin_css', order=100)
def editor_css(request):
    # 判断当前是否为页面编辑/新增页面
    if request.path.startswith('/admin/pages/') and ('/edit/' in request.path or '/add/' in request.path):
        return format_html(
            '<link rel="stylesheet" href="{}">', static('domestic-editor.css'),
        )
    return ''

@hooks.register('insert_global_admin_css')
def global_admin_css():
    env_stylesheet = ''

    if getattr(settings, 'ENVIRONMENT_CSS_THEME_FILE'):
        env_stylesheet = format_html(
            '<link rel="stylesheet" href="{}">',
            static(settings.ENVIRONMENT_CSS_THEME_FILE),
        )

    return (
        format_html(
            '<link rel="stylesheet" href="{}">', static('cms-admin/css/domestic.css'),
        )
    ) + env_stylesheet

关键说明

  • 改用insert_admin_css钩子:该钩子会在所有后台管理页面触发,替代原insert_editor_css的作用范围
  • 路径判断逻辑:通过request.path识别页面编辑/新增场景(匹配/admin/pages/下的/edit/或/add/路径),仅在符合条件时返回编辑器CSS
  • 加载顺序控制:通过order=100参数调整CSS加载顺序,避免被其他默认样式覆盖(可根据实际需求调整数值)

内容的提问来源于stack exchange,提问作者DavidU

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 04:35:03