我是python的新手,正在尝试阅读bottle.py源代码
在文件中,我们必须
from bottle import route, run
使用瓶子。
我尝试阅读源代码,其中route只是第2443行中定义的函数
# Shortcuts for common Bottle methods.
# They all refer to the current default application.
def make_default_app_wrapper(name):
''' Return a callable that relays calls to the current default app. '''
@functools.wraps(getattr(Bottle, name))
def wrapper(*a, **ka):
return getattr(app(), name)(*a, **ka)
return wrapper
route = make_default_app_wrapper('route')
在make_default_app_wrapper中,调用了app,但是在3325行中定义了app
app = default_app = AppStack()
因此,当调用函数make_default_app_wrapper时,应该没有名为app(我猜?)的对象,因此返回的func如何知道应用程序指向的对象?我有什么问题吗?
森林海
相关分类