Maison > développement back-end > Tutoriel Python > 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 :

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 :

Barbara Streisand
Libérer: 2024-10-29 03:16:02
original
1036 Les gens l'ont consulté

Here are some question-based titles that fit your content:

Direct and Specific:

* Why Does Django Throw a TemplateDoesNotExist Error, Even Though My Templates Are Present?
* Django Template Loading: How to Fix 'TemplateDoesNotExist' Errors When Templa

Django TemplateDoesNotExist

Problème

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.

Ordre de chargement des modèles de Django

Django suit un ordre spécifique lors du chargement des modèles :

  • django.template.loaders.filesystem - Charge les modèles à partir du système de fichiers.
  • django.template.loaders.app_directories - Charge les modèles à partir des répertoires de modèles des applications.

Examen de TEMPLATE_DIRS

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.

Solution 1

Pour résoudre le problème, déplacez les modèles vers /usr/lib/python2.5 /site-packages/projectname/templates/template_name.html.

Solution 2

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>
Copier après la connexion

Autorisations de propriété

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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal