【python】【flask】【shell类】【make_context】

在学习Flask开发的时候,其中遇到了使用shell来查看运行环境上下文的方法,如图

【python】【flask】【shell类】【make_context】

但是注意:

manager.add_command("shell", Shell(make_context=make_shell_context))

这一行中,make_context赋值是make_shell_context,而make_shell_context返回值则是个函数地址,而通过查看Shell源码

【python】【flask】【shell类】【make_context】

 这里明确指定了这是一个callable变量,而且能够返回一个字典类型的变量。

再看源码的赋值:

【python】【flask】【shell类】【make_context】

lambda是隐藏函数的意思,也就是说,这里的make_context是一个函数变量

因此,可以得知,Shell类的make_context应该给一个函数类型的变量,而不是一个dict。