我有一个bottle.py 应用程序,它应该加载一些数据,其中部分数据会根据特定路线获得服务。(这在原则上类似于 memcached,除了数据不是那么大而且我不想要额外的复杂性。)我可以将数据加载到全局变量中,这些变量可以从我编写的每个函数中访问,但这似乎不太干净. 有没有办法在初始化期间将一些数据加载到 Bottle() 实例中?
问问题
352 次
1 回答
2
你可以通过使用 bottle.default_app 来做到这一点。
这是一个简单的例子。
main.py(使用来自http://bottlepy.org/docs/dev/的示例代码)
import bottle
from bottle import route, run, template
app = bottle.default_app()
app.myvar = "Hello there!" # add new variable to app
@app.route('/hello/<name>')
def index(name='World'):
return template('<b>Hello {{name}}</b>!', name=name)
run(app, host='localhost', port=8080)
some_handler.py
import bottle
def show_var_from_app():
var_from_app = bottle.default_app().myvar
return var_from_app
于 2013-10-07T19:56:01.230 回答