Anda harus membuat file template Anda di lokasi yang benar; di templates
subdirektori di sebelah modul python Anda.
Kesalahan menunjukkan bahwa tidak ada home.html
file di templates/
direktori. Pastikan Anda membuat direktori itu di direktori yang sama dengan modul python Anda, dan bahwa Anda memang meletakkan home.html
file 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 templates
dan 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_LOADING
opsi 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.html
template memperluas base.html
template, 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_folder
jalur per cetak biru .