我在模板标签中添加了我的简单标签。我的第一个标签是可见的,它工作正常,但第二个不工作。我在模板{% load deposit_earn %}
中添加标签后收到信息''deposit_earn' is not a registered tag library. Must be one of:'
。
我的标签文件看起来像这样:
@register.simple_tag()
def multiply(number_instalment_loans, rrso, balance):
rrso_percent = rrso/100
return round(discounted_interest_rate(12, number_instalment_loans, rrso_percent, balance))
@register.simple_tag()
def deposit_earn(period, interest, balance):
interest_percent = interest/100
equals = balance * interest_percent * period / 12
return round(equals)
为什么我的第一个标签有效而第二个不行?我试图在注册标签后重置服务器,但没有帮助。
3条答案
按热度按时间dgjrabp21#
https://docs.djangoproject.com/en/2.2/howto/custom-template-tags/
你应该导入templatetags文件名,而不是方法名
假设poll_extras.py中有multiply和存款_earn
然后在你的模板中,你只需要调用poll_extras
smtd7mpg2#
你可能想在完成所有的jizz之后重启服务器。这真的让我花了大约10分钟的时间试图找出问题所在,而我所要做的就是重新启动服务器。
wrrgggsh3#
值得一提的是,如果
templatetags
目录不存在,在创建它之后,不要忘记包含空的__init__.py
脚本,这样目录将被视为Python包。否则你仍然会得到Django错误页面。