Flask模板中的全局变量 - python

可能不是准确的标题,因为我是flask / python的新手。我正在开发一种内部工具,供不同团队使用。每个团队都有不同的部署阶段,例如alphabeta|testprod,并且它们还具有多个区域,例如NAEUAP等。

现在,当我使用redirect_template时,我将发送stageregion作为变量,然后在模板中使用它们。但是,对每个redirect_template进行操作都比较麻烦。有什么更好的办法吗?

python参考方案

我假设您的Flask对象的名称是app(即app = Flask(__name__))。

app初始化之后,立即放置以下代码。

@app.context_processor
def inject_stage_and_region():
    return dict(stage="alpha", region="NA")

在Jinja模板中,"alpha""NA"可以由{{ stage }}{{ region }}引用。

烧瓶文档:
http://flask.pocoo.org/docs/0.12/templating/#context-processors

为了将新变量自动注入模板的上下文中,Flask中存在上下文处理器。上下文处理器在呈现模板之前运行,并且能够将新值注入到模板上下文中。上下文处理器是一个返回字典的函数。然后将该字典的键和值与模板上下文合并,以用于应用程序中的所有模板

Python sqlite3数据库已锁定 - python

我在Windows上使用Python 3和sqlite3。我正在开发一个使用数据库存储联系人的小型应用程序。我注意到,如果应用程序被强制关闭(通过错误或通过任务管理器结束),则会收到sqlite3错误(sqlite3.OperationalError:数据库已锁定)。我想这是因为在应用程序关闭之前,我没有正确关闭数据库连接。我已经试过了: connectio…

Flask-RESTful-返回自定义响应格式 - python

我已经按照以下Flask-RESTful文档定义了自定义响应格式。app = Flask(__name__) api = restful.Api(app) @api.representation('application/octet-stream') def binary(data, code, headers=None): resp =…

用大写字母拆分字符串,但忽略AAA Python Regex - python

我的正则表达式:vendor = "MyNameIsJoe. I'mWorkerInAAAinc." ven = re.split(r'(?<=[a-z])[A-Z]|[A-Z](?=[a-z])', vendor) 以大写字母分割字符串,例如:'我的名字是乔。 I'mWorkerInAAAinc”变成…

Python pytz时区函数返回的时区为9分钟 - python

由于某些原因,我无法从以下代码中找出原因:>>> from pytz import timezone >>> timezone('America/Chicago') 我得到:<DstTzInfo 'America/Chicago' LMT-1 day, 18:09:00 STD…

带后台线程的烧瓶应用程序 - python

我正在创建一个flask应用程序,对于一个请求,我需要运行一些长时间运行的作业,而无需在UI上等待。我将创建一个线程并将消息发送到UI。该线程将计算并更新数据库。但是,UI在提交后会看到一条消息。下面是我的实现,但是它正在运行线程,然后将输出发送到我不喜欢的UI。如何在后台运行此线程?@app.route('/someJob') def …