Tornado框架的学习--3.初步使用Tornado搭建简单的web项目

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 get')
        # 渲染模板
        #   模板: 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\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自带的命令行内启动,更加方便.与此同时,我还开启了调试模式,修改代码之后会自动重启服务器,这功能要在上线之后取消掉哦.

你可能感兴趣的:(qfxx,Tornado框架的学习)