Maison > développement back-end > Tutoriel Python > Pourquoi mon application Flask génère-t-elle une erreur « TemplateNotFound », même si mon fichier modèle existe ?

Pourquoi mon application Flask génère-t-elle une erreur « TemplateNotFound », même si mon fichier modèle existe ?

Susan Sarandon
Libérer: 2024-12-13 19:02:11
original
871 Les gens l'ont consulté

Why Does My Flask App Throw a `TemplateNotFound` Error, Even Though My Template File Exists?

Dépannage de l'erreur TemplateNotFound de Flask

Lorsque vous essayez de restituer un modèle dans Flask, tel que « home.html », vous pouvez rencontrer le message « Erreur jinja2.exceptions.TemplateNotFound' malgré l'existence du fichier. Comprendre pourquoi cela se produit et résoudre le problème est crucial pour un rendu de modèle réussi.

Cause :

La principale raison de cette erreur est que Flask ne peut pas localiser le fichier de modèle spécifié. dans son répertoire de modèles par défaut, qui est « modèles ». Par défaut, Flask recherche des modèles dans ce sous-répertoire à côté du module Python où l'application Flask est définie.

Solution :

Assurez-vous que le modèle 'home.html' est placé au bon endroit. Il doit se trouver dans le sous-répertoire 'templates' adjacent au module Python.

Considérations supplémentaires :

  • Si l'application Flask est un package, les 'templates ' doit être créé dans le répertoire du package.
  • Si vous avez nommé votre dossier de modèles différemment, vous pouvez spécifier son emplacement en utilisant 'app.py'. Par exemple, 'app = Flask(__name__, template_folder='template')' utiliserait le répertoire 'template'.
  • Flask fournit une option 'EXPLAIN_TEMPLATE_LOADING' pour obtenir des informations détaillées sur les tentatives de recherche de modèles. Cela peut être utile pour le débogage.

Exemple de structure de modèle :

  • Pour une application non packagée :
myproject/
    app.py
    templates/
        home.html
Copier après la connexion
  • Pour un pack app :
myproject/
    mypackage/
        __init__.py
        templates/
            home.html
Copier après la connexion

En suivant ces directives, vous pouvez résoudre efficacement l'erreur TemplateNotFound et afficher vos modèles comme prévu.

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!

source:php.cn
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