import os
import tornado.ioloop # 启动服务
import tornado.web # web框架服务
from tornado.options import define, options, parse_command_line
define('port', default=80, type=int)
define('debug', default=True, type=bool)
# 工程路径
# 快捷导入模块: alt+enter
# print('__file__: ', __file__)
# print('os.path.abspath(__file__): ', os.path.abspath(__file__))
BASE_DIR = os.path.dirname(os.path.abspath(__file__))
# print('BASE_DIR:', BASE_DIR)
# 类:处理客户端发过来的请求
class HelloHandler(tornado.web.RequestHandler):
def get(self):
# self.write('hello <b>get</b>')
# 渲染模板
# 模板: html
self.render('hello.html', name="蔡徐坤")
# 用户
# 注册
class RegisterHandler(tornado.web.RequestHandler):
def get(self):
self.write('注册成功!')
# 登录
class LoginHandler(tornado.web.RequestHandler):
def get(self):
self.write('登录成功!')
# 用户详情
class DetailHandler(tornado.web.RequestHandler):
def get(self, uid):
print(uid, type(uid)) # str
self.write('接收到客户端传过来的参数: %s' % uid)
def make_app():
return tornado.web.Application(
# 路由router
handlers=[
# 定义路由规则
(r'/', HelloHandler), # /表示根路由
(r'/user/register/', RegisterHandler),
(r'/user/login/', LoginHandler),
# 2类参数传递方式:
# 1.路由参数
# 2.http,get参数,post参数
# 路由参数
# (r'/user/(\d)/', DetailHandler),
(r'/user/(?P<uid>\d)/', DetailHandler),
],
# 设置调试模式,为True则会自动重启
debug=options.debug,
# 模板文件路径
template_path=os.path.join(BASE_DIR, 'templates'),
)
if __name__ == '__main__':
parse_command_line()
app = make_app()
app.listen(options.port)
tornado.ioloop.IOLoop.current().start()
建议在pycharm自带的命令行内启动,更加方便.与此同时,我还开启了调试模式,修改代码之后会自动重启服务器,这功能要在上线之后取消掉哦.