올바른 위치에 템플릿 파일을 만들어야합니다. templates
Python 모듈 옆 의 하위 디렉토리에 있습니다.
이 오류는 디렉터리에 home.html
파일 이 없음을 나타냅니다 templates/
. 파이썬 모듈과 동일한 디렉토리에 해당 디렉토리를 생성했는지, 실제로 home.html
해당 하위 디렉토리에 파일을 넣었는지 확인하십시오 . 앱이 패키지 인 경우 패키지 내부에 템플릿 폴더를 만들어야 합니다.
myproject/
app.py
templates/
home.html
myproject/
mypackage/
__init__.py
templates/
home.html
또는 템플릿 폴더의 이름을 다른 templates
이름으로 지정하고 기본값으로 이름을 바꾸고 싶지 않은 경우 Flask에 다른 디렉터리를 사용하도록 지시 할 수 있습니다.
app = Flask(__name__, template_folder='template')
EXPLAIN_TEMPLATE_LOADING
옵션 을 로 설정하여 주어진 템플릿을 찾는 방법을 설명하도록 Flask에 요청할 수 있습니다 True
. 로드 된 모든 템플릿 에 대해 레벨에서 Flask에app.logger
기록 된 보고서를 받게 됩니다 INFO
.
검색이 성공했을 때의 모습입니다. 이 예에서 foo/bar.html
템플릿은 템플릿을 확장 base.html
하므로 두 가지 검색이 있습니다.
[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')
Blueprint는 자체 템플릿 디렉토리 도 등록 할 수 있지만, Blueprint를 사용하여 더 큰 프로젝트를 논리 단위로 쉽게 분할 할 수있는 경우에는 필요하지 않습니다. Blueprint 당 추가 경로를 사용하는 경우에도 기본 Flask 앱 템플릿 디렉터리가 항상 먼저 검색됩니다.
template_folder
경로 를 설정해야합니다 .