import pymysql
import tornado.httpserver
import tornado.ioloop
import tornado.options
import tornado.web
from tornado.options import define,options
define('port', default=8000, help='run port', type=int)
db = pymysql.Connection(host='127.0.0.1', database='itcast', user='root', password='dcdell88',charset='utf8')
class RegisterHandler(tornado.web.RequestHandler):
# def initialize(self,db):
# self.db = db
# print(1)
def get(self):
cur = db.cursor()
#%s仅仅是一个占位符
sql = "insert into student(name,age) values (%s,%s)"
print(type(cur))
#这里为了防止注入式攻击,我对sql进行了参数化,list中参数和%s要一一对应。
try:
cur.execute(sql,('xiaohong',20))
except Exception as e:
return self.write("数据库插入失败")
db.commit()
print("success")
cur.close()
self.write("sucess")
self.write("hello_get_request")
def post(self, *args, **kwargs):
self.write("postRequest")
class IndexHandler(tornado.web.RequestHandler):
def get(self, *args, **kwargs):
self.write('hello_python')
if __name__ == '__main__':
tornado.options.parse_command_line()
app = tornado.web.Application(
[
(r'/reg/regNewUser',RegisterHandler),
],
template_path='templates',
static_path='static',
debug=True,
)
http_server = tornado.httpserver.HTTPServer(app)
http_server.listen(options.port)
tornado.ioloop.IOLoop.instance().start()