カスタムテンプレートタグを作って、hereの手順に従っていました。私はtemplatetagsをアプリケーションのディレクトリに保存する必要があると言われています。だから私は新しいアプリを作成し、そこにtemplatetagsを入れて、アプリをinstalled APPS
に含めました。Djangoでカスタムテンプレートタグを発見する方法
しかし、私は私のテンプレートでload
にテンプレートタグをしようとすると、私は次のエラーを取得:
'generic_tags' is not a valid tag library: Template library generic_tags not found,
をそして私は私のアプリのためにのためにそれを探索するディレクトリ、templatetagsライブラリを参照してくださいするときでありますいない。つまり、私が作成したアプリでテンプレートタグを検索していないということです。 settings.py
ファイルに何かを追加する必要がありますか?
マイtemplatetag定義ファイルは
import datetime
from django import template
from django.utils.translation import ugettext, ungettext
register = template.Library()
@register.filter(name='timesince_human')
def humanize_timesince(date):
if not date:
return
delta = datetime.datetime.now() - date
num_years = delta.days/365
if (num_years > 0):
return ungettext(u"%d year ago", u"%d years ago", num_years) % num_years
num_weeks = delta.days/7
if (num_weeks > 0):
return ungettext(u"%d week ago", u"%d weeks ago", num_weeks) % num_weeks
if (delta.days > 0):
return ungettext(u"%d day ago", u"%d days ago", delta.days) % delta.days
num_hours = delta.seconds/3600
if (num_hours > 0):
return ungettext(u"%d hour ago", u"%d hours ago", num_hours) % num_hours
num_minutes = delta.seconds/60
if (num_minutes > 0):
return ungettext(u"%d minute ago", u"%d minutes ago", num_minutes) % num_minutes
return ungettext(u"%d second ago", u"%d seconds ago", delta.seconds) % delta.seconds
あり、それは、utilityapp
という名前のアプリのtemplatetag
ディレクトリに格納されていると私はまた、__init__.py
ファイル
ディレクトリは 'templatetags'ではない' templatetag' –