Maison > développement back-end > Tutoriel Python > Pourquoi Django génère-t-il une erreur « TemplateDoesNotExist » et comment puis-je la corriger ?

Pourquoi Django génère-t-il une erreur « TemplateDoesNotExist » et comment puis-je la corriger ?

Linda Hamilton
Libérer: 2024-10-30 18:08:03
original
1132 Les gens l'ont consulté

 Why Does Django Throw a

Erreur « TemplateDoesNotExist » de Django : causes et solutions

L'erreur « TemplateDoesNotExist » de Django se produit lorsque le framework ne parvient pas à localiser un modèle à restituer. Ce problème peut survenir en raison de diverses mauvaises configurations ou de structures de fichiers incorrectes.

Dans le cas fourni, le chemin du modèle est défini comme :

<code class="python">TEMPLATE_DIRS = (
    os.path.join(SETTINGS_PATH, 'templates'),
)</code>
Copier après la connexion

Ce paramètre spécifie que Django doit rechercher des modèles dans le sous-répertoire "templates" du répertoire du projet, où SETTINGS_PATH devrait être le chemin d'accès au répertoire contenant settings.py.

Cependant, le message d'erreur indique que Django essaie de charger des modèles à partir d'un emplacement commençant par "/usr/lib/python2.5/site-packages/projectname/templates/appname/". Cela diffère de l'emplacement attendu.

Solutions possibles :

  1. Déplacer les modèles :
    Déplacez les modèles vers être accessible à partir du chemin TEMPLATE_DIRS défini. Cela implique de les placer directement sous le sous-répertoire « templates » du répertoire du projet. Par exemple :

    /usr/lib/python2.5/site-packages/projectname/templates/appname1/template1.html
    /usr/lib/python2.5/site-packages/projectname/templates/appname2/template2.html
    Copier après la connexion
  2. Configurer le projet Django :
    Assurez-vous que Django est correctement configuré dans settings.py. Cela inclut la spécification des applications installées et éventuellement la définition de SETTINGS_PATH. Si SETTINGS_PATH n'est pas défini, ajoutez la ligne suivante :

    <code class="python">import os
    SETTINGS_PATH = os.path.dirname(os.path.dirname(__file__))</code>
    Copier après la connexion
  3. Autorisations de fichier :
    Comme solution de contournement temporaire, essayez de modifier les autorisations du modèle. répertoire :

    chown -R www-data:www-data /usr/lib/python2.5/site-packages/projectname/*
    Copier après la connexion

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