Bạn phải tạo các tệp mẫu của mình ở đúng vị trí; trong templates
thư mục con bên cạnh mô-đun python của bạn.
Lỗi chỉ ra rằng không có home.html
tệp trong templates/
thư mục. Đảm bảo rằng bạn đã tạo thư mục đó trong cùng thư mục với mô-đun python của mình và trên thực tế, bạn đã đặt một home.html
tệp vào thư mục con đó. Nếu ứng dụng của bạn là một gói, thì thư mục mẫu phải được tạo bên trong gói.
myproject/
app.py
templates/
home.html
myproject/
mypackage/
__init__.py
templates/
home.html
Ngoài ra, nếu bạn đặt tên thư mục mẫu của mình khác templates
và không muốn đổi tên nó thành mặc định, bạn có thể yêu cầu Flask sử dụng thư mục khác đó.
app = Flask(__name__, template_folder='template') # still relative to module
Bạn có thể yêu cầu Flask giải thích cách nó đã cố gắng tìm một mẫu nhất định, bằng cách đặt EXPLAIN_TEMPLATE_LOADING
tùy chọn thành True
. Đối với mỗi mẫu được tải, bạn sẽ nhận được một báo cáo được ghi vào Flaskapp.logger
, ở cấp độ INFO
.
Đây là giao diện khi tìm kiếm thành công; trong ví dụ này, foo/bar.html
mẫu mở rộng base.html
mẫu, vì vậy có hai tìm kiếm:
[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')
Bản thiết kế cũng có thể đăng ký các thư mục mẫu của riêng chúng , nhưng đây không phải là yêu cầu nếu bạn đang sử dụng bản thiết kế để dễ dàng phân chia một dự án lớn hơn thành các đơn vị logic. Thư mục mẫu ứng dụng Flask chính luôn được tìm kiếm đầu tiên ngay cả khi sử dụng các đường dẫn bổ sung cho mỗi bản thiết kế.
template_folder
đường dẫn cho mỗi bản thiết kế .