廖雪峰实战中的url函数,使用偏函数,实现定义一个装饰器就可以实现四种不同的装饰方法。
from functools import partial
def request(path, *, method):
def decorator(func):
@functools.wraps(func)
def wrapper(*args, **kw):
return func(*args, **kw)
wrapper.__method__ = method.upper()
wrapper.__route__ = path
return wrapper
return decorator
get = partial(request, method='get')
post = partial(request, method='post')
put = partial(request, method='put')
delete = partial(request, method='delete')