连接到数据库并等待http请求simultaniusly

时间:2016-03-28 10:38:18

标签: python pymongo bottle

我刚开始编写python程序, 并编写了这段代码

from bottle import route, run, template
import pymongo
from pymongo import MongoClient


connection = MongoClient('localhost', 27017)
db = connection.tongler

@route('/hello/<name>')
def index(name):
    return template("Hello {{name}}", name=name)

run(host='localhost', port=8888)

print db

但它只在终止8888监听器后打印db对象,如何在不等待http服务器终止的情况下监听http请求并执行其他操作?怎么做的?

1 个答案:

答案 0 :(得分:1)

执行该文件后,要执行的第一个命令是run方法调用,该方法启动一个进程,阻止应用程序的其余部分执行,直到它被关闭。

要使用数据库,您必须作为请求的结果或run方法调用之前的某个位置执行数据库操作。

例如,假设您要显示该数据库中的记录,您可以这样做:

@route('/records/<id>')
def show_records(id=None):
    results = db.mycollection.find_one({'id': id})
    return template('Record: {{record}}', record=results)