First——tornaod环境搭建及基本框架搭建——成功运行第一个基于tornado搭建的服务器框架

①创建项目运行的python虚拟环境(指定python版本为python3)

ubuntu命令:

mkvirtualenv -p python3 tudo

在这里插入图片描述

②安装tornado库(指定版本为5.1.1)

ubuntu命令:

pip install tornado==5.1.1

在这里插入图片描述

③成功!

ubuntu查看安装包命令:

pip list

在这里插入图片描述

(3)ubuntu中存储项目的文件夹为:tudo_file

2.tornado搭建测试

===========================================================================

①测试代码(hello.py):

运行tornado的库

import tornado.ioloop

import tornado.web

HTTP请求处理 类似Django里的类视图

class MainHandler(tornado.web.RequestHandler):

def get(self):

self.write(“Hello, world”)

定义接口

application = tornado.web.Application(

[(r’/',MainHandler)]

)

if name == ‘main’:

定义端口

application.listen(8080)

运行tornado

tornado.ioloop.IOLoop.current().start()

②ubuntu中浏览器访问指定端口(127.0.0.1:8080)出现如下响应即为测试成功——可以进行项目开发!

在这里插入图片描述

3.正式进入此tornado项目的搭建之基本框架的搭建

=========================================================================================

①编写tornado运行文件(app.py):

如果逻辑同测试代码,会造成本py文件会过大的后果——同时包含定义接口及类视图,而且不易区分具体代码块的功能;

所以,现采用另一种写法——继承并重写定义接口的类tornado.web.Application,使得定义接口与类视图分开编写!!!

import tornado.ioloop

import tornado.web

import tornado.options

from tornado.options import define,options

导入请求处理类文件

from handlers import main

名字,默认端口,帮助信息,类型

define(‘port’,default=‘8000’,help=‘Listeningport’,type=int)

重写

class Application(tornado.web.Application):

def init(self):

handlers = [

(‘/’,main.IndexHandler),

(‘/explore’,main.ExploreHandler),

定义一个可以传参的接口

(‘/post/(?P<post_id>[0-9]+)’,main.PostHandler),

]

settings = dict(

debug=True,

配置模板路径

template_path=‘templates’,

配置静态文件路径

static_path=‘static’

)

继承父类

super().init(handlers, **settings)

application = Application()

if name == ‘main’:

控制台打印访问记录

tornado.options.parse_command_line()

端口

application.listen(options.port)

print(‘Server start on port {}’.format(options.port))

tornado.ioloop.IOLoop.current().start()

②创建handlers包,并在里面创建main.py文件用于编写业务逻辑:

在这里插入图片描述

import tornado.web

class IndexHandler(tornado.web.RequestHandler):

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

self.render(‘index.html’)

class ExploreHandler(tornado.web.RequestHandler):

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

self.render(‘explore.html’)

class PostHandler(tornado.web.RequestHandler):

def get(self, post_id):

传递参数到post.html

self.render(‘post.html’,post_id=post_id)

③创建模板文件(templates文件夹里):

(1)父模板——用于模板继承(base.html):

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值