0

我有一个bottle.py 应用程序,它应该加载一些数据,其中部分数据会根据特定路线获得服务。(这在原则上类似于 memcached,除了数据不是那么大而且我不想要额外的复杂性。)我可以将数据加载到全局变量中,这些变量可以从我编写的每个函数中访问,但这似乎不太干净. 有没有办法在初始化期间将一些数据加载到 Bottle() 实例中?

4

1 回答 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 回答