创帆云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项目,并需要生成一些文件及文件夹,主要包括如下:

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

v2-6a52ebab7efd6f289dad5c4622904dcb_b.jpg

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开发解决方案。


文末福利来啦

免费云主机领取:

云主机开发环境领取,即开即用

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值