Django模板引入含richtext过滤器的组件报错:Invalid filter原因咨询
Django TemplateSyntaxError: Invalid filter 'richtext' 原因分析
这个报错的核心是当前模板渲染环境中不存在名为richtext的过滤器,具体诱因分为以下几种:
- 你使用的
richtext是第三方框架(比如Wagtail)提供的专属过滤器,但在抽离的组件模板中没有加载对应的模板标签库。比如Wagtail的richtext过滤器需要在模板开头声明{% load wagtailcore_tags %}才能生效,组件模板遗漏这一行就会触发错误。 - 若
richtext是你自行编写的自定义过滤器,可能存在两个问题:一是包含该过滤器的app未添加到项目的INSTALLED_APPS配置中;二是组件模板里没有加载自定义标签库(比如{% load your_custom_filter_lib %})。 - 抽离组件后,模板的渲染上下文发生变化:原Page模板中已经加载了所需的标签库,但独立的组件模板没有继承原模板的依赖配置,也未自行加载,导致过滤器无法被识别。
内容的提问来源于stack exchange,提问作者egonFrerich
相关产品推荐
相关产品推荐

