Django は指定されたテンプレートを見つけることができず、TemplateDoesNotExist 型の例外をスローします。テンプレートがディスク上に存在する場合でも、Django がテンプレートを見つけることを期待している場所が存在しません。
Django はテンプレートを読み込むときに特定の順序に従います。
この場合、TEMPLATE_DIRS の構成は、Django に /usr/lib/python2.5/site-packages/projectname/templates でテンプレートを探すように指示します。ただし、テンプレートは /usr/lib/python2.5/site-packages/projectname/templates/appname/template_name.html に編成されています。 Django はテンプレートがテンプレート ディレクトリのルートにあると想定しているため、テンプレートを見つけることができません。
この問題を解決するには、テンプレートを /usr/lib/python2.5 に移動します。 /site-packages/projectname/templates/template_name.html.
または、アプリケーションのテンプレート ディレクトリ内でテンプレートを検索するように TEMPLATE_DIRS を変更することを検討してください:
<code class="python">TEMPLATE_DIRS = ( os.path.join(SETTINGS_PATH, 'appname1/templates'), os.path.join(SETTINGS_PATH, 'appname2/templates'), os.path.join(SETTINGS_PATH, 'appname3/templates'), )</code>
上記の解決策が機能しない場合は、テンプレート ディレクトリの所有権のアクセス許可を確認してください。この例では、Web サーバー ユーザーにはテンプレートにアクセスするための適切な権限が必要であったため、chown -R www-data:www-data /usr/lib/python2.5/site-packages/projectname/* を実行すると問題が解決されました。
以上がコンテンツに適した質問ベースのタイトルをいくつか示します。 直接的かつ具体的: * テンプレートが存在しているにもかかわらず、Django が TemplateDoesNotExist エラーをスローするのはなぜですか? * Django テンプレートの読み込み:の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。