造轮子是最好的一种学习方式,本文尝试从
0
开始造个
Python Web
框架的轮
子,我称它为
ToyWebF
。
本文操作环境为:
MacOS
,文中涉及的命令,请根据自己的系统进行替换。
ToyWebF
的简单特性:
1.
支持多种不同形式的路由注册方式
2.
支持静态
HTML
、
CSS
、
JavaScript
3.
支持自定义错误
4.
支持中间件
下面我们来实现这些特性。
最简单的
web
服务
首先,我们需要安装
gunicorn
,回忆一下
Flask
框架,该框架有内置的
Web
服
务器,但不稳定,所以上线时通常会替换成
uWSGI
或
gunicorn
,这里不搞这
个内置
Web
服务,直接使用
gunicorn
。
这里多说一句,小编是一名
python
开发工程师,这里有我自己整理的一套最新
的
python
系统学习教程,包括从基础的
python
脚本到
web
开发、爬虫、数据
分析、数据可视化、机器学习等。想要这些资料的可以关注小编,并在后台私
信小编即可领取。
我们创建新的目录与
Python
虚拟环境,在该虚拟环境中安装
gunicorn
mkdir ToyWebF
python3 -m venv venv #
创建虚拟环境
source venv/bin/activate #
激活虚拟环境
pip install gunicorn
复制代码