Musisz utworzyć pliki szablonów w prawidłowej lokalizacji; w templatespodkatalogu obok modułu Pythona.
Błąd wskazuje, że home.htmlw templates/katalogu nie ma pliku . Upewnij się, że utworzyłeś ten katalog w tym samym katalogu co moduł Pythona i że faktycznie umieściłeś home.htmlplik w tym podkatalogu. Jeśli Twoja aplikacja jest pakietem, folder szablonów powinien zostać utworzony wewnątrz pakietu.
myproject/
app.py
templates/
home.html
myproject/
mypackage/
__init__.py
templates/
home.html
Alternatywnie, jeśli nadałeś folderowi szablonów inną templatesnazwę niż i nie chcesz zmieniać jego nazwy na domyślną, możesz powiedzieć Flask, aby używał tego innego katalogu.
app = Flask(__name__, template_folder='template')
Możesz poprosić Flask o wyjaśnienie, w jaki sposób próbował znaleźć dany szablon, ustawiając EXPLAIN_TEMPLATE_LOADINGopcję na True. Dla każdego załadowanego szablonu otrzymasz raport zarejestrowany w Kolbieapp.logger na poziomie INFO.
Tak to wygląda, gdy wyszukiwanie się powiedzie; w tym przykładzie foo/bar.htmlszablon rozszerza base.htmlszablon, więc są dwa wyszukiwania:
[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')
Schematy mogą również rejestrować własne katalogi szablonów , ale nie jest to wymagane, jeśli używasz planów, aby ułatwić podzielenie większego projektu na jednostki logiczne. Główny katalog szablonów aplikacji Flask jest zawsze przeszukiwany jako pierwszy, nawet jeśli używasz dodatkowych ścieżek na schemat.
template_folderścieżkę dla planu .