Rumah >pembangunan bahagian belakang >Tutorial Python >Mengapa Apl Flask Saya Membuang Ralat `TemplateNotFound` Walaupun Fail Templat Wujud?

Mengapa Apl Flask Saya Membuang Ralat `TemplateNotFound` Walaupun Fail Templat Wujud?

Linda Hamilton
Linda Hamiltonasal
2024-12-11 19:30:16149semak imbas

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

Ralat TemplateNotFound dalam Flask Walaupun Fail Templat Sedia Ada

Apabila membuat templat dalam Flask, anda mungkin menghadapi jinja2.exceptions.TemplateNotFound: [template_name] ralat, menunjukkan bahawa Flask tidak dapat mengesan fail templat yang ditentukan. Ini boleh mengecewakan, terutamanya apabila fail templat jelas wujud dalam projek anda. Berikut ialah pemeriksaan lebih dekat tentang isu ini dan cara menyelesaikannya.

Lokasi Templat Salah

Sebab paling biasa untuk ralat ini ialah fail templat tidak berada di lokasi yang betul. Flask menjangka templat diletakkan dalam subdirektori templat bersebelahan dengan modul Python tempat apl Flask dibuat. Pastikan fail home.html anda terletak dalam subdirektori ini.

Contohnya, jika fail apl Flask anda ialah app.py, direktori templat hendaklah distrukturkan seperti berikut:

/myproject
    app.py
    templates/
        home.html

Direktori Templat Tersuai

Jika templat anda terletak dalam direktori bukan lalai, anda mesti menentukan laluannya menggunakan template_folder.

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

Menyahpepijat Pemuatan Templat

Untuk membantu mengenal pasti sebab di sebalik ralat, dayakan pilihan EXPLAIN_TEMPLATE_LOADING. Flask kemudiannya akan mengelog maklumat terperinci tentang proses pemuatan templat.

app.config['EXPLAIN_TEMPLATE_LOADING'] = True

Ini boleh memberikan cerapan berharga tentang isu yang berpotensi dengan laluan carian templat.

Atas ialah kandungan terperinci Mengapa Apl Flask Saya Membuang Ralat `TemplateNotFound` Walaupun Fail Templat Wujud?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn