作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
web.application
接受无证的 fvars
web.py tutorial 的论点通过globals()
像这样:
import web
class index:
def GET(self):
return "Hello, world!"
urls = (
'/', 'index'
)
if __name__ == "__main__":
app = web.application(urls, globals())
locals()
的应用程序.这个变量是做什么用的,为什么要传递它
locals()
或
globals()
?
最佳答案
它被 application.handle()
使用(依次调用 application._delegate()
)将处理程序类从字符串转换为类对象本身。 Source code here.
例如,在上面的代码片段中,urls = ('/', 'index')
是 URL 到类字符串的映射。所以web.application
需要您的globals()
dict 能够查找字符串 'index'
并获得类(class)本身。
我实际上认为这是一个有点非 Pythonic 的设计。为什么不直接通过类呢?我认为 web.py 也支持这种方法。但是,我相信这些类是作为字符串完成的,因此自动重载更简单。自动重载代码使用 fvars
沉重。
回复 locals()
:在模块级别,locals()
没有什么意义,但它返回与 globals()
相同的字典,这就是为什么它会起作用。
关于web.py - 将 "globals()"作为 web.py fvars 传递的目的是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15099603/
web.application 接受无证的 fvars web.py tutorial 的论点通过globals()像这样: import web class index: def GET(s
我是一名优秀的程序员,十分优秀!