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

Mengapa Flask Membuang Ralat 'TemplateNotFound' Walaupun Fail Templat Saya Wujud?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-12 18:46:11742semak imbas

Why Does Flask Throw a

Templat KelalangNotFound Ralat Walaupun Fail Templat Sedia Ada

Dalam percubaan untuk memaparkan templat home.html, pembangun sering menghadapi ralat "jinja2. exceptions.TemplateNotFound: home.html." Ralat ini timbul apabila Flask bergelut untuk mencari fail templat yang ditentukan.

Memahami Lokasi Fail Templat

Kunci untuk menyelesaikan ralat ini terletak pada memastikan fail templat diletakkan dalam lokasi yang sesuai. Secara lalai, Flask mencari templat dalam subdirektori bernama templat, yang mesti bersebelahan dengan modul Python tempat apl Flask dicipta.

Struktur Fail Betul

The struktur fail projek hendaklah menyerupai yang berikut:

/myproject
    app.py
    templates/
        home.html

Sebagai alternatif, jika folder templat telah dinamakan semula, Flask boleh dimaklumkan menggunakan parameter template_folder:

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

Templat Blueprint

Blueprint dalam Flask juga menyokong direktori templat tersuai. Walau bagaimanapun, direktori ini dicari selepas direktori templat apl utama.

Pilihan Penyelesaian Masalah

  • Lokasi Fail Betul: Sahkan bahawa templat fail terdapat dalam subdirektori templat yang dijangkakan.
  • Folder Penamaan: Pastikan folder templat dinamakan templat, melainkan dinyatakan secara eksplisit menggunakan template_folder.
  • Menyahpepijat Pemuatan Templat: Tetapkan pilihan EXPLAIN_TEMPLATE_LOADING kepada Benar untuk mendapatkan log terperinci templat Flask proses carian. Ini boleh membantu mengenal pasti sebarang tingkah laku yang tidak dijangka.

Atas ialah kandungan terperinci Mengapa Flask Membuang Ralat 'TemplateNotFound' Walaupun Fail Templat Saya 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