python tornado教程_创帆云python网页开发系列教程:Tornado框架初探

在基于python的网页开发框架中,tornado可谓是独树一织。

第一次了解到tornado框架,还是在网上找到的python网站开发框架对比文章中

这里简单介绍一下python网站最常见的3个开发框架:

1、Django

这个框架可谓是声名在外了,想必只要想用python开发网站的同学,都听说过这个框架;能想到网站开发模块基本都有了,而且还有杰出的ORM支持,快速上手是一个非常好的选择。

但是因为本人喜欢折腾,而且本人是大数据专业,需要框架对超高并发的支持,果断弃之。

2、Flask

flask 很轻,花很少的成本就能够开发一个简单的网站。非常适合初学者学习。

Flask 框架学会以后,可以考虑学习插件的使用。例如使用 WTForm + Flask-WTForm 来验证表单数据,用 SQLAlchemy + Flask-SQLAlchemy 来对你的数据库进行控制

本人由于被tornado的超高并发吸引,未使用上述框架

3 、Tornado

由facebook开源出来的超高并发框架,利用异步协程机制,实现比多线程更高的性能爆发,绝对是高并发类网站的首选,知乎网就是用这个框架开发的,性能超高。

当然,缺点也是有的,很多东西需要自己写,也没有很好的ORM支持;但是,作为一个喜欢自己折腾和不受限制的本人来说,这个是我的最爱。

好了,接下来详细介绍如何安装Tornado, 基于python3

安装非常简单,只需要在云主机中一行命令即可(需要先安装完成python3):

python -m pip install tornado

接下来,新建一个普通的python项目,并需要生成一些文件及文件夹,主要包括如下:

我已经建好的文件目录结构见下图(红框中是必须要有的,其他文件夹和文件是我自己开发为了方便单独加的)

1、application.py

全局环境设置,包括静态目录设置、模板目录设置、是否debug,及可能需要用到的cookies加密设置

写入代码如下:

from url import url

import tornado.web

import os

settings = dict(

template_path = os.path.join(os.path.dirname(__file__), "templates"),

static_path = os.path.join(os.path.dirname(__file__), "statics"),

debug=True #生产环境去掉

)

application = tornado.web.Application(

handlers = url,

**settings

)

2、server.py

启动tornado服务主文件,主要包括web的访问URL及端口配置

如下代码:

#!/usr/bin/env Python

# coding=utf-8

import tornado.ioloop

import tornado.options

import tornado.httpserver

from application import application

from tornado.options import define, options

import settings

define("port", default = 80, help = "run on the given port", type = int)

def main():

#启动网站进程

tornado.options.parse_command_line()

http_server = tornado.httpserver.HTTPServer(application)

http_server.listen(options.port)

host='127.0.0.1';

print ("Development server is running at http://%s:%s" % (host,options.port))

print ("Quit the server with Control-C")

loop=tornado.ioloop.IOLoop.instance();

tornado.autoreload.start(loop); #更改代码无需重启时需要,只在开发环境

loop.start();

if __name__ == "__main__":

main()

3、url.py

URL路由,即用来配置访问某个URL路径时,该具体定位到哪个HTML文件

加入如下代码:

#!/usr/bin/env Python

# coding=utf-8

"""

the url structure of website

"""

import sys #utf-8,兼容汉字

from importlib import reload

reload(sys)

from handlers.index import IndexHandler

url = [

#网站各项功能

(r'/', IndexHandler)

]

说明:通过URL路径’/’,访问IndexHandler对应的HTML文件,通过上方import目录可以看到,这个文件在handlers文件夹里。

4、handles 文件夹

用来具体处理网页动态交互请求,里面主要是get和post方法中的逻辑开发。

5、statics 文件夹

用来存放网页需要的CSS样式表文件、Javascript文件及图片、视频等静态网页内容,这个文件夹的特征是,通过浏览器URL路径可直接访问,所以不要存放需要保密的后台程序文件

6、templates 文件夹

用来存放静态HTML文件。

总结:

实际上tornado只是一种开发框架和思想,后端语言底层都是python,你完全可以按照你自己的想法修改文件夹路径和作用;

只是这种开发思路能够形成一个统一的开发框架,便于形成标准化的python开发解决方案。

文末福利来啦!

免费云主机领取:云主机开发环境领取,即开即用​www.bistudio.com.cn

好了,tornado初探就先到这里,下一节讲述如何生成你的第一个网页!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值