android留言板 mysql_03 | aiomysql完成留言板功能

from tornado.web importStaticFileHandler, RedirectHandlerfrom aiomysql importcreate_poolfrom tornado importwebimporttornadofrom tornado.web importtemplateclassMainHandler(web.RequestHandler):definitialize(self, db):

self.db=db

asyncdef get(self, *args, **kwargs):

id= ""name= ""email= ""address= ""message= ""async with create_pool(host=self.db["host"], port=self.db["port"],

user=self.db["user"], password=self.db["password"],

db=self.db["name"], charset="utf8") as pool:

async with pool.acquire() as conn:

async with conn.cursor() as cur:

await cur.execute("SELECT id, name, email, address, message from message")try:

id, name, email, address, message=await cur.fetchone()exceptException as e:passself.render("message.html", id=id, email=email, name=name, address=address, message=message)

asyncdef post(self, *args, **kwargs):

id= self.get_body_argument("id", "")

name= self.get_body_argument("name", "")

email= self.get_body_argument("email", "")

address= self.get_body_argument("address", "")

message= self.get_body_argument("message", "")

async with create_pool(host=self.db["host"], port=self.db["port"],

user=self.db["user"], password=self.db["password"],

db=self.db["name"], charset="utf8") as pool:

async with pool.acquire() as conn:

async with conn.cursor() as cur:if notid:

await cur.execute("INSERT INTO message(name, email, address, message) VALUES('{}','{}','{}','{}')".format(name,

email,

address,

message))else:

await cur.execute("update message set name='{}', email='{}', address='{}', message='{}'".format(name, email, address, message))

await conn.commit()

self.render("message.html", id=id, email=email, name=name, address=address, message=message)

settings={"static_path":"D:/BaiduYunDownload/971、Tornado从入门到进阶/资料/tornado-resources-master/tornado-resources/tornado_overview/chapter03/static","static_url_prefix": "/static/","template_path": "templates","db": {"host": "127.0.0.1","user": "root","password": "mysql","name": "message","port": 3306}

}if __name__ == "__main__":

app=web.Application([

("/", MainHandler, {"db": settings["db"]}),#("/static/(.*)", StaticFileHandler, {"path": "C:/projects/tornado_overview/chapter03/static"})

], debug=True, **settings)

app.listen(8888)

tornado.ioloop.IOLoop.current().start()#self.redirect方法和RedirectHandler方法区别是什么#self.redirect

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值