Flask のcontext-processorsを使用する必要があります。
@app.context_processor
def inject_user():
return dict(user=g.user)
この同様のSO の質問と回答を参照してください。
私がそれをどのように使用しているかの例(単にアプリの構成設定を挿入するため):
@app.context_processor
def lib_versions():
return dict(
bokehversion = app.config['BOKEH_VERSION'],
jqueryversion = app.config['JQUERY_VERSION'],
jqueryuiversion = app.config['JQUERYUI_VERSION'],
bootstrapversion = app.config['BOOTSTRAP_VERSION'],
)
私のFlask設定ファイルから引き出されたもの:
class Config(object):
DEBUG = True
TESTING = True
SQLALCHEMY_DATABASE_URI = ''
TMP_DIR = ''
STATIC_FOLDER = ''
BOKEH_VERSION = '0.8.2'
JQUERY_VERSION = '1.11.2'
JQUERYUI_VERSION = '1.11.4'
BOOTSTRAP_VERSION = '3.3.4'
class ProductionConfig(Config):
DEBUG = False
TESTING = False
次に、他の Jinja2 変数と同様に、ベース テンプレートでこれらを呼び出します。
<!-- START: CSS -->
<link rel="stylesheet" media="screen" type="text/css" href="http://cdn.bokeh.org/bokeh/release/bokeh-{{ bokehversion }}.min.css">
<!-- END: CSS -->
<!-- START: JS -->
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/{{ jqueryversion }}/jquery.min.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/{{ jqueryuiversion }}/jquery-ui.min.js"></script>
<script type="text/javascript" src="//maxcdn.bootstrapcdn.com/bootstrap/{{ bootstrapversion }}/js/bootstrap.min.js"></script>
<!-- END: JS -->