我有一个模板过滤器,我正在模板中加载。
模板位于:
- userprofile/
- templatetags/
- __init__.py
- extras.py
Userprofile在我安装的应用程序中,它似乎正在正确导入附加内容。
extras.py中的模板标记是:
register = template.Library()
@register.filter
def minutes_seconds(seconds):
"""
Format a time in seconds in the MM:SS form.
"""
return '{:02}:{:02}'.format(int(seconds) / 60, int(seconds) % 60)
在我的django模板中,我正在做:
{% extends 'base.html' %}
{% load extras %}
...
{{ items|minutes_seconds }}
但这会爆发,我得到TemplateSyntaxError: Invalid Filter
。它似乎是一个非常低级别的错误,因为我可以在模板中导致其他错误(例如,删除{% for %}
标记,否则会引发错误),但它似乎触发了这个{{1几乎在页面呈现之前。这里出了什么问题?
答案 0 :(得分:3)
检查目录“userprofile / templatetags /”,是否有针对init.py和extras.py编译的python文件?
如果那里没有编译文件,则意味着python没有访问templatetags dir。确保该目录中有init.py文件,然后重新启动服务器并再次检查.pyc文件。