我正在玩django-gentelella并尝试将自定义模板标记添加到项目中。
根据最新的Django文档,应该添加一个“templatetags”目录,与models.py,views.py等处于同一级别。此外, init .py文件应该是放在目录中。
我将模板标签添加到名为“template_tags.py”的文件中,然后重新启动服务器。在我的模板中,我使用文件顶部的“{%load template_tags%}”加载文件。
不幸的是,这还不行。根据Django文档,还需要将template_filters添加到INSTALLED APPS中。
我的问题是我无法弄清楚如何以点表示法获得正确的路径。有人能指出我正确的方向吗?
答案 0 :(得分:2)
<强> /profiles/templatetags/custom_tags.py 强>
@register.filter(name='getLocalTimeDifference')
def getLocalTimeDifference(value):
value = value.replace(..)
return value
<强> /profiles/templates/navbar.html 强>
{% load custom_tags %}
...
<div class="notification-meta">
<small class="timestamp">{{ notification.timesince | getLocalTimeDifference}} before </small>
</div>
P.S。 __ init_.py也应该添加到templatetags目录