1

私はdjango-gentelellaで遊んでいて、カスタム テンプレート タグをプロジェクトに追加しようとしています。

最新の Django ドキュメントによると、models.py、views.py などと同じレベルに「templatetags」ディレクトリを追加する必要があります。また、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 に答える