Django の使用中に「TemplateDoesNotExist」エラーが発生する場合があります。この例外は、Django がビューのレンダリングに必要なテンプレート ファイルを見つけられなかった場合に発生します。この問題を効果的に解決するには、根本的な原因と適切な解決策を理解することが重要です。
この特定のインスタンスでは、構成の不一致が原因でエラーが発生しました。 Django のドキュメントとデフォルト設定では、テンプレートがアプリのディレクトリの下の「templates」フォルダー内に整理されていることを前提としています:
/usr/lib/python2.5/site-packages/projectname/appname1/templates/template1.html
ただし、ユーザーの場合、テンプレートはプロジェクト ディレクトリの直下に配置されています:
/usr/lib/python2.5/site-packages/projectname/templates/appname1/template1.html
その結果、予期されたパス構成から逸脱したため、Django はテンプレート ファイルを見つけることができませんでした。
幸いなことに、この問題に対処するには 2 つの解決策が考えられます。
最初の解決策:
テンプレート フォルダーを直接指すように「settings.py」のテンプレート パス構成を調整します:
TEMPLATE_DIRS = ( os.path.join(SETTINGS_PATH, 'templates/appname1/'), )
2 番目解決策:
各アプリのディレクトリ内の予期される「templates」サブディレクトリにテンプレートを再配置します:
/usr/lib/python2.5/site-packages/projectname/appname1/templates/template1.html
これらの解決策のいずれかを実装すると、Django が確実に必要なテンプレート ファイルを見つけます。
以上がDjango で「TemplateDoesNotExist」エラーが発生するのはなぜですか?それを修正するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。