写点什么

First——tornaod 环境搭建及基本框架搭建,2021 最新爱奇艺 Python 社招面试题目

作者:程序媛可鸥
  • 2022 年 3 月 21 日
  • 本文字数:1407 字

    阅读完需:约 5 分钟

[](

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


<!DOCTYPE html>


<html lang="en">


<head>


<meta charset="UTF-8">


<title>{% block title %}Tornado Title{% end %}</title>


</head>


<body>


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


</body>


</html>

最后

?? 硬核资料:关注即可领取 PPT 模板、简历模板、行业经典书籍 PDF。

?? 技术互助:技术群大佬指点迷津,你的问题可能不是问题,求资源在群里喊一声。

?? 面试题库:由技术群里的小伙伴们共同投稿,热乎的大厂面试真题,持续更新中。

?? 知识体系:含编程语言、算法、大数据生态圈组件(Mysql、Hive、Spark、Flink)、数据仓库、Python、前端等等。

用户头像

Python编程资料加Q群免费领取:419829237 2022.03.14 加入

还未添加个人简介

评论

发布
暂无评论
First——tornaod环境搭建及基本框架搭建,2021最新爱奇艺Python社招面试题目_Python_程序媛可鸥_InfoQ写作平台