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

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

Linda Hamilton
Linda Hamiltonoriginal
2024-12-11 19:30:16150parcourir

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

Erreur TemplateNotFound dans Flask malgré le fichier modèle existant

Lors du rendu d'un modèle dans Flask, vous pouvez rencontrer un jinja2.exceptions.TemplateNotFound : [template_name] erreur, indiquant que Flask ne peut pas localiser le fichier modèle spécifié. Cela peut être frustrant, surtout lorsque le fichier modèle existe clairement dans votre projet. Voici un examen plus approfondi de ce problème et comment le résoudre.

Emplacement du modèle incorrect

La raison la plus courante de cette erreur est que le fichier modèle ne se trouve pas au bon emplacement. Flask s'attend à ce que les modèles soient placés dans le sous-répertoire des modèles adjacent au module Python où l'application Flask est créée. Assurez-vous que votre fichier home.html se trouve dans ce sous-répertoire.

Par exemple, si votre fichier d'application Flask est app.py, le répertoire du modèle doit être structuré comme suit :

/myproject
    app.py
    templates/
        home.html

Répertoire de modèles personnalisés

Si vos modèles se trouvent dans un répertoire autre que celui par défaut, vous devez spécifier son chemin en utilisant template_folder.

app = Flask(__name__, template_folder='my_templates')

Chargement du modèle de débogage

Pour aider à identifier la raison de l'erreur, activez l'option EXPLAIN_TEMPLATE_LOADING. Flask enregistrera ensuite des informations détaillées sur le processus de chargement du modèle.

app.config['EXPLAIN_TEMPLATE_LOADING'] = True

Cela peut fournir des informations précieuses sur les problèmes potentiels liés au chemin de recherche du modèle.

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:
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