環境:Django 2.2
- コード例:
from django.template.defaulttags import register
@register.filter(name='lookup')
def lookup(value, arg):
return value.get(arg)
このコードを、portfoliomgrというプロジェクトフォルダーのtemplate_filters.pyというファイルに配置しました
フィルターコードをどこに置いても、そのフォルダーに__init__.pyがあることを確認してください
そのファイルを、projectfolder / settings.pyファイルのテンプレートセクションのライブラリセクションに追加します。私にとっては、portfoliomgr / settings.pyです。
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR, 'templates')],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
'libraries':{
'template_filters': 'portfoliomgr.template_filters',
}
},
},
]
あなたのhtmlコードでライブラリをロードしてください
{% load template_filters %}