擅长:python、mysql、java
<p>在flask中做的很多事情都绑定到应用程序上下文。例如,<code>render_template</code>函数,它需要知道应用程序将其模板存储在何处。<code>session</code>变量想知道应用程序的数据存储或缓存系统。调用<code>request</code>对象和您的<code>mail.send</code>需要一些应用程序上下文。在</p>
<p>如果您想在flask应用程序的范围之外调用它们,比如在celery任务中,请在应用程序上下文中这样做:</p>
<pre><code>...
with app.app_context():
do_some_context_bound_actions()
msg = Messgae(...)
user_name = app.session["user"].name
msg.html = render_template("mail/welcome.html", name=user_name)
mail.send(msg)
...
</code></pre>