当前位置:   article > 正文

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

tornado 搭建

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):

{% block title %}Tornado Title{% end %}

{% block content %}Default body of base {% end %}

(2)index.html——首页:

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Python工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Python开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

img

img

img

img

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以扫码获取!!!(备注Python)

82296f86381401c05e862fe4e9.png)

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以扫码获取!!!(备注Python)

img
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/代码探险家/article/detail/983618
推荐阅读
相关标签
  

闽ICP备14008679号