【问题标题】:Wagtail CMS style overrideWagtail CMS 样式覆盖
【发布时间】:2021-08-10 01:06:04
【问题描述】:

我目前正在构建 Wagtail 管理员,并且我有一个页面模型,该模型在管理员中通过内联面板呈现一些嵌套模型表单,允许用户添加内容。由于 Wagtail 的刚性模板,我在嵌套模型中的一些字段的详细名称在 UI 中被截断。

因此,我正在尝试覆盖模板中的样式,以使 verbose_names 不再被截断。这里是截止:

在这里它没有被切断:

到目前为止,我已经使用了 wagtail 钩子,特别是 insert_global_admin_css 钩子,但是浏览器返回 404 并且找不到文件。我不知道将文件放在代码库中的哪个位置,以便 Wagtail 拾取它并覆盖默认样式!

我的钩子实现:

@hooks.register('insert_global_admin_css', order=100)
def global_admin_css():
    return format_html(
        '<link rel="stylesheet" type="text/css" href="{}">',
        static('css/admin.css')
    )

然后浏览器中返回的错误:

帮助! TIA

【问题讨论】:

    标签: templates overriding customization styling wagtail


    【解决方案1】:

    您没有向我们展示您对 insert_global_admin_css 挂钩的实现——但这是决定您的新 CSS 文件应该放在哪里的代码!

    来自我的一个 wagtail 网站的示例:

    @hooks.register("insert_global_admin_css", order=100)
    def global_admin_css():
        """Add /static/admin_tweaks/wagtail.css."""
        return format_html('<link rel="stylesheet" href="{}">', static("admin_tweaks/wagtail.css"))
    

    【讨论】:

    • 我添加了 sn-p 以及我从 Chrome 返回的内容的屏幕截图。我想我的问题比其他任何问题都与文件路径相关。我只是对如何在我的项目中定义路径以允许浏览器找到它没有足够的了解。
    • 您在指定 static('css/admin.css') 时定义了路径——这意味着在此代码所在的同一个 django 应用程序中,您需要一个位于 static/css/admin 的文件.css。但是在你的 html 中写出的路径中有几个额外的目录,所以我想知道是否有什么问题(1)你的 STATIC_URL 在设置中,或者,如果这是内置的开发服务器, (2) 用于静态文件处理的 urls.py 中缺少某些内容。
    猜你喜欢
    • 2017-06-21
    • 1970-01-01
    • 1970-01-01
    • 2013-10-18
    • 2020-12-20
    • 2020-08-26
    • 1970-01-01
    • 1970-01-01
    • 2020-09-21
    相关资源
    最近更新 更多