Django 自定义标签与过滤器报错 No module named 'templatetags'
Django 自定义标签与过滤器报错
- 按照网上的教程如果想使用自定义的标签与过滤器就得往
settings.py中添加下列数据
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [BASE_DIR, "/templates",],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
"libraries":{ # 添加这边三行配置
'my_tags':'templatetags.my_tags' # 添加这边三行配置
} # 添加这边三行配置
},
},
]
- 然后在与
template的同级文件夹创建一个templatetags的python包,但是总是报错

- 后来我去翻官方的文档

- 其实是因为
Django版本变了,导致以前的格式不适用于现在的格式应该是以下这种文件格式

from django import template # 导入template
register = template.Library() # 实例化Library
@register.filter(name='cut') # filter 修饰
def cut(value, arg):
return value.replace(arg, '')
# 如上的cut函数就是我们自定义的一个过滤器
继续加油!!!

浙公网安备 33010602011771号