2016-12-14 15 views
0

ディレクトリ名template_tagsの中にカスタムタグライブラリファイルを作成しました。私はロードされていませんでしたし、エラーを投げていた -カスタムテンプレートタグライブラリが、名前にunncoreという名前のディレクトリに置かれたときに読み込まれない

'custom_template_tags' is not a registered tag library. Must be one of: 
admin_list 
admin_modify 
admin_static 
admin_urls 
cache 
future 
i18n 
l10n 
log 
static 
staticfiles 
tz 

私はフォルダ内の__init__.pyを持っています。私はSOからのすべてのトリックに従ったが、ディレクトリ名をtemplatetagsに変更するまでは何もできなかった。私はまた、アプリケーションディレクトリのフォルダの外にテンプレートライブラリを移動しようとしましたが、これもうまくいきませんでした。

ここにこれらの質問があります
1.なぜタグライブラリはディレクトリなしでロードされませんでしたか?
2.タグライブラリをディレクトリに配置したとき、アンダースコアのないディレクトリ名が必要なのはなぜですか?それは故意に故郷で行われますか?ドキュメントから

+0

デフォルトでは、Djangoはtemplatetagライブラリの 'app/templatetags'を調べます。ファイルの名前はライブラリの名前になります。たとえば 'app/templatetags/my_tags.py'は' {%load my_tags%} 'のように使用できます。 – Brobin

答えて

1

https://docs.djangoproject.com/en/1.10/howto/custom-template-tags/#code-layout

などmodels.py、views.py、これはまだ存在しない場合は、それを作成すると同じレベルで、templatetagsディレクトリが含まれている必要がありアプリ - ドン」 __init__.pyファイルを忘れて、ディレクトリがPythonパッケージとして扱われるようにしてください。

関連する問題