路由(route)
简单来说路由就是一个映射器,利用一个给定的参数来映射到对应的指定路径或者执行函数等等。
改版miniweb服务器
来把前面一章节自定义的一个mini框架改成路由的版本。
mini_frame.py代码:
import os
import re
from pymysql import *
# 测试使用
print(os.path.abspath(__file__)) # 显示当前文件的地址
print(os.getcwd()) # 显示主程序入口的地址
# 定义一个字典来储存方法的引用,key=访问路径,value=函数引用
route_dict = dict()
def route(url):
def set_func(func):
# 将所有函数的引用保存到字典中,后续调用
route_dict[url] = func
def call_func(*args, **kwargs):
return func(*args, **kwargs)
return call_func
return set_func
@route("/index.py")
def index(info)<