点击here。 在代码的格子。我无法理解'module_name'。它来自哪里? 'module_name'是什么意思?
def add_routes(app, module_name):
n = module_name.rfind('.')
if n == (-1):
mod = __import__(module_name, globals(), locals())
else:
name = module_name[n+1:]
mod = getattr(__import__(module_name[:n], globals(), locals(), [name]), name)
for attr in dir(mod):
if attr.startswith('_'):
continue
fn = getattr(mod, attr)
if callable(fn):
method = getattr(fn, '__method__', None)
path = getattr(fn, '__route__', None)
if method and path:
add_route(app, fn)
我认为'module_name'与class RequestHandler
有关。但我不知道这意味着什么。是否让class RequestHandler
成为模样?像这样的东西?
import RequestHandler
答案 0 :(得分:0)
我无法理解'module_name'
module_name
是一个值的占位符,该值传递给名为add_routes()
的函数
例如,
add_routes(a, b)
# New Definition
a is app
b is module_name
n = b.rfind('.')
...
它来自哪里?
在awesome-python3-webapp中,module_name
仅在add_routes()
函数中使用。
我认为'module_name'与RequestHandler类有关。但 我不知道这意味着什么。它是否允许类RequestHandler 成为一个模样?像这样的东西?
考虑:
# RequestHandler.py
def add_routes(app, module_name):
print(app)
print(module_name)
在这种情况下,您可以像上面提到的import
使用上面的代码:
import RequestHandler
a = foo
b = bar
RequestHandler.add_routes(a, b)
Result:
foo
bar