我想添加一些自定义模板标签。但是,{% load userfilters %} => 'load' 标签不起作用。
# project/settings.py
TEMPLATES = [
{
'BACKEND': 'django.template.backends.jinja2.Jinja2',
'DIRS': [
os.path.join(BASE_DIR, 'html/jinja2'),
],
'APP_DIRS': True,
'OPTIONS': {
'environment': 'accountv1.jinja2.environment',
},
},
]
Run Code Online (Sandbox Code Playgroud)
# project/jinja2.py
from django.templatetags.static import static
from django.urls import reverse
from jinja2 import Environment
def environment(**options):
env = Environment(**options)
env.globals.update({
'static': static,
'url': reverse,
})
return env
Run Code Online (Sandbox Code Playgroud)
from django import template
register = template.Library()
@register.filter(name='a')
def a(value):
return 1
Run Code Online (Sandbox Code Playgroud)
# use django-rest-framework
class IndexView(generics.GenericAPIView):
renderer_classes = [TemplateHTMLRenderer] …Run Code Online (Sandbox Code Playgroud)