Loading

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包,但是总是报错

error

  • 后来我去翻官方的文档

官方文档自定义标签

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

image.png

from django import template # 导入template

register = template.Library() # 实例化Library

@register.filter(name='cut') # filter 修饰
def cut(value, arg):
    return value.replace(arg, '')

# 如上的cut函数就是我们自定义的一个过滤器

继续加油!!!

posted @ 2021-02-25 18:41  MushRain  阅读(476)  评论(0)    收藏  举报