Python Tornado异步Web服务

Python 写的 Tornado 项目,结构清晰,用来练手或者搭建小型 Web 服务都挺合适的。

异步非阻塞的 Web 服务,用 Tornado 来搞就对了。整个项目打包在PythonWeb.zip里,直接解压就能跑。像main.py是入口,handlers路由,templates搞前端,整体思路一目了然。

Tornado有点像后端的“多线程”,但它用的是非阻塞 I/O,效率高,写聊天系统、接口服务器爽。你会看到不少@gen.coroutineyield这种关键词,别慌,多练几次就顺手了。

项目里还带了requirements.txt,用pip install -r requirements.txt一键搞定依赖。像config.py这种配置文件也别忽略,端口号、调试模式都在里面。

如果你还没用过RequestHandler、没试过自己写一个get()post()方法,这个项目正好可以帮你上手。模板渲染用的是 Tornado 自带的,也可以集成 Jinja2,页面动态内容怎么填一看就懂。

部署的话,开发阶段跑main.py就够了,正式上线建议配个Nginx反代,后端用Gunicornsupervisor来托管也挺稳。

如果你对异步框架比较好奇,或者有打算搞个轻量 API 服务,这份代码值得下来看一看。

zip
PythonWeb.zip 预估大小:26个文件
folder
PythonWeb 文件夹
file
application.py 1023B
file
server.py 536B
file
readme.md 402B
folder
templates 文件夹
folder
upload 文件夹
file
upload.html 525B
folder
index 文件夹
file
login.html 596B
folder
test 文件夹
file
test.html 404B
folder
__init__.py 文件夹
folder
home 文件夹
file
home.html 123B
folder
upfile 文件夹
folder
img 文件夹
file
background.png 2KB
folder
__init__.py 文件夹
folder
static 文件夹
folder
css 文件夹
folder
test.css 文件夹
folder
js 文件夹
file
test.js 16B
folder
__init__.py 文件夹
folder
views 文件夹
folder
upload 文件夹
file
UploadUtilsHandlerKit.py 969B
folder
index 文件夹
file
index.py 2KB
folder
test 文件夹
file
TestHandlerKit.py 645B
file
ViewRouterInterface.py 312B
file
__init__.py 930B
folder
.idea 文件夹
file
PythonWeb.iml 553B
file
misc.xml 185B
file
vcs.xml 189B
file
modules.xml 270B
file
encodings.xml 135B
file
.gitignore 38B
folder
inspectionProfiles 文件夹
file
Project_Default.xml 446B
file
config.py 1KB
zip 文件大小:17.16KB