如何正确使用Wagtail管理员中的钩子?

时间:2016-07-13 10:53:21

标签: python django wagtail

我正在尝试将自己的CSS插入wagtail管理页面。

Сonsidering答案https://groups.google.com/forum/#!topic/wagtail/DYeTygB_F-8我使用钩子insert_editor_css。我在我的app文件夹中创建了wagtail_hooks.py,并在下面添加了代码:

from django.utils.html import format_html
from django.contrib.staticfiles.templatetags.staticfiles import static

from wagtail.wagtailcore import hooks


@hooks.register('insert_editor_css')
def editor_css():
    return format_html('<link rel="stylesheet" href="{}">', static('css/admin.css'))

要向文档执行它应该被执行但是没有插入css文件甚至尝试执行它(错误或异常)。我想(也许我错了)wagtail_hooks.py没有被处理。

有人可以给我一些提示吗?提前谢谢。

1 个答案:

答案 0 :(得分:3)

你需要:

  1. 确保您的应用已添加到INSTALLED_APPS设置。
  2. 确保您的项目导入wagtail_hooks.py。您可以将print放在模块级别的某个位置,或者为挂钩函数定义添加断点。
  3. 确保使用正确的挂钩:

    insert_editor_cssinsert_editor_js用于向页面编辑器界面添加额外的css或js 。因此,您的css/admin.css应该出现在页面创建或编辑屏幕上。

    如果您想为所有管理页面添加额外的css或js,您需要使用insert_global_admin_cssinsert_global_admin_js