在不同的路由中重用sql查询

时间:2014-08-12 09:33:48

标签: python sql bottle

我是python的新人。使用瓶子框架我有两条路线如下

@app.route("/foo/:slug")
def foo(slug):
    # execute heavy sql query here
    sql = "..."


@app.route("/bar/:slug")
def bar(slug):
    # again execute the heavy sql query ...
    sql = "..."

正如你在上面的路由中看到的那样,我冗余地执行相同的查询,但这看起来很难看,有没有办法执行一次这样的查询,然后在另一条路径中重用它?

注意:不使用global变量的答案将不胜感激。

1 个答案:

答案 0 :(得分:1)

您可以将其包装在模型对象中,例如:

import models    

@app.route("/foo/:slug")
def foo(slug):
    data = models.heavy_data()


@app.route("/bar/:slug")
def bar(slug):
    data = models.heavy_data()

模型可以使用memcache

缓存数据