Anda harus membuat file template Anda di lokasi yang benar; di templatessubdirektori di sebelah modul python Anda.
Kesalahan menunjukkan bahwa tidak ada home.htmlfile di templates/direktori. Pastikan Anda membuat direktori itu di direktori yang sama dengan modul python Anda, dan bahwa Anda memang meletakkan home.htmlfile di subdirektori itu. Jika aplikasi Anda adalah sebuah paket, folder template harus dibuat di dalam paket tersebut.
myproject/
app.py
templates/
home.html
myproject/
mypackage/
__init__.py
templates/
home.html
Alternatifnya, jika Anda menamai folder templat Anda dengan nama lain templatesdan tidak ingin menamainya kembali ke default, Anda dapat memberi tahu Flask untuk menggunakan direktori lain itu.
app = Flask(__name__, template_folder='template')
Anda dapat meminta Flask untuk menjelaskan bagaimana ia mencoba menemukan template yang diberikan, dengan menyetel EXPLAIN_TEMPLATE_LOADINGopsi ke True. Untuk setiap template yang dimuat, Anda akan mendapatkan laporan yang dicatat ke Flaskapp.logger , di level INFO.
Inilah yang terlihat ketika pencarian berhasil; dalam contoh ini foo/bar.htmltemplate memperluas base.htmltemplate, jadi ada dua pencarian:
[2019-06-15 16:03:39,197] INFO in debughelpers: Locating template "foo/bar.html":
1: trying loader of application "flaskpackagename"
class: jinja2.loaders.FileSystemLoader
encoding: 'utf-8'
followlinks: False
searchpath:
- /.../project/flaskpackagename/templates
-> found ('/.../project/flaskpackagename/templates/foo/bar.html')
[2019-06-15 16:03:39,203] INFO in debughelpers: Locating template "base.html":
1: trying loader of application "flaskpackagename"
class: jinja2.loaders.FileSystemLoader
encoding: 'utf-8'
followlinks: False
searchpath:
- /.../project/flaskpackagename/templates
-> found ('/.../project/flaskpackagename/templates/base.html')
Cetak biru juga dapat mendaftarkan direktori templatnya sendiri , tetapi ini bukan persyaratan jika Anda menggunakan cetak biru agar lebih mudah membagi proyek yang lebih besar ke seluruh unit logis. Direktori template aplikasi Flask utama selalu dicari terlebih dahulu bahkan saat menggunakan jalur tambahan per cetak biru.
template_folderjalur per cetak biru .