tornado学习(一)项目搭建

安装:pip install tornado

结果:D:\tornado代码\project>pip install tornado

Requirement already satisfied: tornado in c:\python36\lib\site-packages (5.0.2)

新版本可以pip安装

项目结构搭建:

config.py:

import os

BASE_DIRS = os.path.dirname(__file__)


#参数
options = {
    'port':8888,
}

#配置
setting = {
    'static_path':os.path.join(BASE_DIRS,'static'),
    'template_path':os.path.join(BASE_DIRS,'templates'),
    'debug':True,
    # 'autoreload':True
}


 

application.py:

import tornado.web
import views
import config


class Application(tornado.web.Application):
    def __init__(self):
        handlers = [
            (r"/", views.IndexHandler),
            (r"/home", views.HomeHandler),
            (r"/pzl", views.PzlHandler,{'word1':'good','word2':'nice'}),

            (r"/json1", views.JsonHandler),
            (r"/json2", views.Json2Handler),


            (r"/iserror", views.ErrorHandler),
            tornado.web.url(r'/p',views.PHandler,{'word3':'good','word4':'nice'},name='p'),
            #uri
            (r'/liuyifei/(?P<p1>\w+)/(?P<p3>\w+)/(?P<p2>\w+)/',views.LiuyifeiHandler),
            #get
            (r'/zhangmanyu',views.ZhangmanyuHandler),
            #post
            (r'/postfile', views.PostFileHandler),
            #request对象
            (r'/zhuyin', views.ZhuyinHandler),
            #上传文件
            (r'/upfile', views.UpFileHandler),


        ]
        super(Application,self).__init__(handlers,**config.setting)

server.py:

import tornado.ioloop
import tornado.httpserver
import config

from application import Application




if __name__ == "__main__":
    print('启动...')
    app = Application()
    httpServer = tornado.httpserver.HTTPServer(app)
    # httpServer.listen(8888)
    #绑定端口
    httpServer.bind(config.options['port'])
    #开启5个子进程(默认1,若为None或者小于0,开启对应硬件的CPU核心数个子进程)
    httpServer.start(1)
    tornado.ioloop.IOLoop.current().start()




views/__init__.py

from .index import IndexHandler,PzlHandler,JsonHandler,Json2Handler,ErrorHandler,PHandler
from .home import HomeHandler,LiuyifeiHandler,ZhangmanyuHandler,PostFileHandler,ZhuyinHandler,UpFileHandler

views下写视图类

例如:

from tornado.web import RequestHandler


class IndexHandler(RequestHandler):
    def get(self, *args, **kwargs):
        url=self.reverse_url('p')
        print(url)
        self.write("<a href='%s'>GO another page</a>"%(url))

upfile文件下放上传的文件,templates下放模板,static下放静态文件/css,/js,/img

这就是一个tornado的一个项目的结构

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值