django 2.0 自定义simple_tag 错误
django 2.0 自定义simple_tag 错误
我的url如下:
urlpatterns = [
url(r'^tpl1/', views.tpl1),
url(r'^tpl4/', views.tpl4),
]
def tpl4(request):
name="ADaihnifa"
return render(request,"tpl4.html",{'name':name})
tpl4.html 如下:
{% load xxoo %}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
{{ name }}
{{ name|lower }}
{{ name|upper }}
{% linux2580 %}
</body>
</html>
xxoo.py
from django import template
from django.utils.safestring import mark_safe
register=template.Library()
@register.simple_tag
def linux2580():
return 123
然后出现
TemplateSyntaxError at /app/
错误 =。=
解决方法如下:
settions.py
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(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':{
"linux2580":"app01.templatetags.xxoo",
},
},
},
]
linux2580(函数) 是我的自定义标签名字 app01.templateags.xxoo 是我的py的文件路径



