1

カスタム フィルターを作成しようとしています。Django ドキュメントの手順に従いました。ただし、フィルターをロードするテンプレートをロードすると、次のエラーがスローされます。

'custom_filters' is not a valid tag library

...これは、テンプレートの以下の行を参照しています。

1   {% extends 'shared/base.html' %}
2   {% load custom_filters %} <--- the error
3   
4   {% block title %}
5       Showing project {{project}}
6   {% endblock %}

ファイル構造:

project/
    ...
    ...
    models.py
    views.py
    templates/
    templatetags/
        __init__.py
        custom_filters.py

custom_filters.py:

from django import template
register = template.Library()

@register.filter(name='ownership')
def ownership(project, user):
    return project.added_by_user == user

したがって、何らかの理由で、Django は custom_filters ファイルを見つけることができません (私の知る限り)。

私は何を間違っていますか?

注: もちろん、サーバーを再起動しようとしました。

4

2 に答える 2

1

テンプレート タグ フォルダーは、テンプレート フォルダー、views.py、models.py、... の横にある必要があります。

 //Don't forget also to put __init__.py outside the templatetags,

 @register.simple_tag
 def ownership(project, user):
     return project.added_by_user == user
于 2013-03-01T13:18:40.870 に答える