1

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

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

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

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

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

4

1 回答 1

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>

PS __init_.py 也应该添加到 templatetags 目录

于 2017-08-11T12:36:12.340 回答