您的位置:首页 > 编程语言 > Go语言

django自定义模板引用问题

2017-12-14 16:11 218 查看
遇到的问题

TemplateSyntaxError("Invalid filter: '%s'" %initial_letter_filter)

铺垫知识

过滤器应用在django的模板中,例如 

<p>Dear
{{ person_name|cut:'5'}}</p>

即可将person_name中的字符‘5’全部剔除后输出到HTML上,cut即为过滤器。

过滤器也可视为一个普通的函数,以cut为例,参数有两个 一个是管道符('|')前面运算所产生的值,另一个是冒号(‘:’)后面的值。

如果实现一个自定义过滤器需要几个步骤,

创建一个APP并在settings文件中注册

在APP中创建templatetags文件夹,确保文件夹下有init.py文件,再在该文件夹中创建一个过滤器文件
例如 review_extract.py

然后在需要用到的模板中在用之前加入这句话    {% load review_extrat %}
load后面的蓝色字符与过滤器文件名保持一致。然后问题来了。

 
我创建了一个过滤器 名为  initial_letter_filter 但引入到模板中却提示TemplateSyntaxError("Invalid filter: '%s'" %initial_letter_filter)问题,令我百般费解,查询很久也没有查询到。

   我的问题出现在了引用过滤器的模板Thanks_email.html和base模板之间的问题。

   前方提到过,在过滤器使用前要在模板中加入一句话 {% load review_extrat %} ,但是我把这句话加到了base.html中想省事,但是在使用过滤器的子模板中没有加入这句话,所以查询不到。所以,这句话要加在引用过滤器的模板中,才可以找到过滤器,加入到base里面没有用的。像这样

 


好了问题解决了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: