话不多说,先上代码
import tornado.httpserver
import tornado.web
import tornado.ioloop
import tornado.options
import pymongo
from tornado.options import define, options
define("port", default=8989, help="run on the given port", type=int)
class Application(tornado.web.Application):
def __init__(self):
handlers = [
(r"/(\w+)", WordHandler)
]
coon = pymongo.MongoClient("127.0.0.1:27017")
self.db = coon["example"]
tornado.web.Application.__init__(self, handlers, debug=True)
class WordHandler(tornado.web.RequestHandler):
def get(self, word):
coll = self.application.db.words
word_doc = coll.find_one({"word":word})
if word_doc:
del word_doc["_id"]
self.write(word_doc)
else:
self.set_status(404)
self.write({"error": "word not found"})
if __name__ == '__main__':
tornado.options.parse_command_line()
http_server = tornado.httpserver.HTTPServer(Application())
http_server.listen(options.port)
tornado.ioloop.IOLoop.instance().start()
1,如下图所示,我们继承了tornado的Application类,创建了自己的Application
我们在自己的Application类中连接了数据库conn,并创建了数据库db
2。像上面连接数据库,并创建数据库后,以后在任何RequestHandler对象中使用self.application.db 访问, 如下图所示