Maison > Article > développement back-end > Voici quelques titres basés sur des questions qui correspondent à votre contenu : Direct et spécifique : * Pourquoi Django renvoie-t-il une erreur TemplateDoesNotExist, même si mes modèles sont présents ? * Chargement du modèle Django :
Django ne parvient pas à localiser les modèles spécifiés et génère des exceptions de type TemplateDoesNotExist. L'emplacement où Django s'attend à trouver les modèles n'existe pas, même si les modèles sont présents sur le disque.
Django suit un ordre spécifique lors du chargement des modèles :
Dans ce cas, la configuration de TEMPLATE_DIRS demande à Django de rechercher des modèles dans /usr/lib/python2.5/site-packages/projectname/templates. Cependant, les modèles sont organisés dans /usr/lib/python2.5/site-packages/projectname/templates/appname/template_name.html. Django ne parvient pas à localiser les modèles car il s'attend à ce qu'ils se trouvent à la racine du répertoire des modèles.
Pour résoudre le problème, déplacez les modèles vers /usr/lib/python2.5 /site-packages/projectname/templates/template_name.html.
Vous pouvez également envisager de modifier TEMPLATE_DIRS pour rechercher des modèles dans les répertoires de modèles des applications :
<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>
Si les solutions ci-dessus ne fonctionnent pas, vérifiez les autorisations de propriété du répertoire des modèles. Dans le cas donné, l'exécution de chown -R www-data:www-data /usr/lib/python2.5/site-packages/projectname/* a résolu le problème, car l'utilisateur du serveur Web avait besoin des autorisations appropriées pour accéder aux modèles.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!