如何正确地将模板标签添加到django项目中

时间:2017-08-11 12:25:21

标签: python django gentelella

我正在玩django-gentelella并尝试将自定义模板标记添加到项目中。

根据最新的Django文档,应该添加一个“templatetags”目录,与models.py,views.py等处于同一级别。此外, init .py文件应该是放在目录中。

我将模板标签添加到名为“template_tags.py”的文件中,然后重新启动服务器。在我的模板中,我使用文件顶部的“{%load template_tags%}”加载文件。

不幸的是,这还不行。根据Django文档,还需要将template_filters添加到INSTALLED APPS中。

我的问题是我无法弄清楚如何以点表示法获得正确的路径。有人能指出我正确的方向吗?

1 个答案:

答案 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目录