First——tornaod环境搭建及基本框架搭建——成功运行第一个基于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——首页:

{% extends ‘base.html’ %}

{% block title %} index page{% end %}

最后

这份《“java高分面试指南”-25分类227页1000+题50w+字解析》同样可分享给有需要的朋友,感兴趣的伙伴们可挑战一下自我,在不看答案解析的情况,测试测试自己的解题水平,这样也能达到事半功倍的效果!(好东西要大家一起看才香)

image

image

ml——首页:**

{% extends ‘base.html’ %}

{% block title %} index page{% end %}

最后

这份《“java高分面试指南”-25分类227页1000+题50w+字解析》同样可分享给有需要的朋友,感兴趣的伙伴们可挑战一下自我,在不看答案解析的情况,测试测试自己的解题水平,这样也能达到事半功倍的效果!(好东西要大家一起看才香)

[外链图片转存中…(img-Hmt8zM0W-1721133836232)]

[外链图片转存中…(img-gLHFwY2N-1721133836233)]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值