2016-12-11 4 views
1

私はこれに関連する他のSOの質問を見てきましたが、助けはありませんでした。djangoはアプリケーションテンプレートをロードしていません

アプリをインストールしてINSTALLED_APPS変数に設定を追加しました。アプリdjango_messagesは、それぞれのテンプレートからbase.htmlテンプレートを拡張します。

djangoは再帰的にこのテンプレートのappディレクトリを検索していません。ここで

はエラーです:テンプレート/Library/Python/2.7/site-packages/django_messages/templates/django_messages/inbox.htmlで 、行でエラーファイルは次の場所にあります1

{% extends "django_messages/base.html" %} 

: /Library/Python/2.7/site-packages/django_messages/templates/django_messages/base.html

が、検索パスDjangoは与えては以下のとおりです。

Djangoはこの順で、これらのテンプレートをロードしようとした:

エンジンジャンゴを使用する:

django.template.loaders.app_directories.Loader: /Library/Python/2.7/site-packages/django_messages/templates/base.html (Source does not exist) 

だから、それはファイルの/Library/Python/2.7/site-packages/django_messages/templates/を検索しなければならない理にかなって私はテンプレートローダについて理解に基づきます。しかし、このファイルは "django_messages/base.html"と呼ばれているので、djangoがdjango_messages/templatesのbase.htmlを探していて、django_messages修飾子を無視している理由は分かりません。

私の他のすべてのテンプレート(私自身のアプリケーションで)は、app_name/templates/app_name/xxx.htmlのようにdjangoドキュメントに示されているように設定されています。だからすべてが正しいように見えるが、動作していない。

これについて私の頭を叩いて疲れたら、助けてください。

ありがとうございました。

答えて

1

これが起こった理由だから私は、ファイルdjango_messages/base.htmlは「base.html」を拡張しようとしていた...

を見つけました。私はこれがあなた自身のbase.htmlファイルを拡張することを意図していると仮定しますが、私のbase.htmlファイルはapp_name/base.htmlの下にあります。

django_messages/base.htmlでパスを変更しても、エラーは発生しませんでした。うまくいけば、これは他の誰かを助けるでしょうエラーが "django_messages/base.html"をdjango_messages/inbox.htmlファイルから拡張していて、これらのパスが両方とも正しいので、django_messages/base.htmlの拡張を評価していたようであると思われ、混乱しました。このファイルを見つけてdjango_messages/base.htmlの代わりにinbox.htmlにトレースバックを追加してください。とにかく、今はすべて良いです。

関連する問題