У меня есть модуль Python с планом, похожим на ...
import os
from flask import Blueprint
LIBRARY_BASE_DIR = os.path.dirname(os.path.abspath(__file__))
TEMPLATE_BASE_DIR = os.path.join(LIBRARY_BASE_DIR, 'templates')
STATIC_BASE_DIR = os.path.join(LIBRARY_BASE_DIR, 'static')
BulmaBase = Blueprint(
'bulma',
__name__,
url_prefix='/bulma',
static_url_path='/bulma-static',
static_folder=STATIC_BASE_DIR,
template_folder=TEMPLATE_BASE_DIR,
)
Зарегистрировано в приложении Flask в другом модуле routes.py
app = Flask(__name__)
app.register_blueprint(BulmaBase)
ПланБазовый шаблон я хочу расширить в нескольких приложениях.
{% extends 'bases/bulma/bulma.html' %}
Файл main.py
запускает приложение через WSGI. В файле Google App Engine app.yaml
нет точки входа в списке (поэтому он должен использовать значение по умолчанию, main: app).
application.run(host='127.0.0.1', debug=DEBUG)
Все отлично работает при локальном запуске. Однако после запуска в Google App Engine шаблоны в Blueprint не могут быть найдены. Если я отключу Blueprint, приложение снова запустится на GAE.
jinja2.exceptions.TemplateNotFound: bases/bulma/bulma.html
at _get_source_fast (/env/lib/python3.7/site-packages/flask/templating.py:86)
at get_source (/env/lib/python3.7/site-packages/flask/templating.py:58)
at load (/env/lib/python3.7/site-packages/jinja2/loaders.py:113)
at _load_template (/env/lib/python3.7/site-packages/jinja2/environment.py:804)
at get_template (/env/lib/python3.7/site-packages/jinja2/environment.py:830)
at root (/srv/auth_app/templates/BASE.html:11)
at root (/srv/auth_app/templates/login__firebase_ui.html:14)
at render (/env/lib/python3.7/site-packages/jinja2/environment.py:1005)
at top-level template code (/srv/auth_app/templates/login__firebase_ui.html:1)
at reraise (/env/lib/python3.7/site-packages/jinja2/_compat.py:37)
at handle_exception (/env/lib/python3.7/site-packages/jinja2/environment.py:780)
at render (/env/lib/python3.7/site-packages/jinja2/environment.py:1008)
at render (/env/lib/python3.7/site-packages/jinja2/asyncsupport.py:76)
at _render (/env/lib/python3.7/site-packages/flask/templating.py:117)
at render_template (/env/lib/python3.7/site-packages/flask/templating.py:135)
at login (/srv/auth_app/routes.py:64)
at dispatch_request (/env/lib/python3.7/site-packages/flask/app.py:1799)
at full_dispatch_request (/env/lib/python3.7/site-packages/flask/app.py:1813)
at reraise (/env/lib/python3.7/site-packages/flask/_compat.py:35)
at handle_user_exception (/env/lib/python3.7/site-packages/flask/app.py:1718)
at full_dispatch_request (/env/lib/python3.7/site-packages/flask/app.py:1815)
at wsgi_app (
Понятия не имею, как решить эту проблему. В конце я хотел бы иметь общий расширяемый шаблон (со связанными активами), который несколько других людей могут расширять в своих собственных приложениях. Любые указатели будут с благодарностью.