我刚开始编写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请求并执行其他操作?怎么做的?
答案 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)