您需要使用瓶的context-processors:
@app.context_processor
def inject_user():
return dict(user=g.user)
看到這個類似SO question and answer 。
的我如何使用它的一個例子(簡單地插入應用程序配置設置):
@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'],
)
這是從我的瓶配置文件拉:
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.pydata.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 -->
最新燒瓶版本(我相信從0.10開始)給這個錯誤:'RuntimeError:在應用程序上下文之外工作「。任何人都知道如何處理它? –