flask 中的 localproxy 的源码看的蒙蔽了,求大佬解惑

2018-08-12 12:15:02 +08:00
 jakeyfly

这是 flask localproxy 的源码 我没看明白_get_current_object 方法中的 self.__local 属性是那里来的.有大佬能指导小弟不

大佬能不能解释一下 __init__方法中都做了啥呀

2585 次点击
所在节点    问与答
13 条回复
ericls
2018-08-12 12:23:40 +08:00
我去 这个代码谁写的?
freefcw
2018-08-12 12:31:37 +08:00
jakeyfly
2018-08-12 12:36:37 +08:00
@freefcw 我对 python 有一定了解,我只是找不到他设置这个属性的地方
jakeyfly
2018-08-12 12:38:25 +08:00
@ericls flask 的 几万人写的吧
ericls
2018-08-12 12:42:23 +08:00
看了一下代码
作为 proxy 这么写 make sense
jakeyfly
2018-08-12 12:57:51 +08:00
@ericls 啥?????
taozle
2018-08-12 13:00:10 +08:00
__init__ 里面的第一句就是设置 __local
taozle
2018-08-12 13:08:09 +08:00
jakeyfly
2018-08-12 13:34:14 +08:00
@taozle 不懂 __localproxy_local 被改成__local 了?
jakeyfly
2018-08-12 13:35:44 +08:00
@taozle 我草明白了 私有变量自动改名!!!我二了 谢谢大佬
chashao
2018-08-12 13:55:09 +08:00
这一句 object.__setattr__(self, '_LocalProxy__local', local)
因为__local 属性会被 python 变为_类名__local,所以添加_LocalProxy__local 也就是__local 私有属性
jakeyfly
2018-08-12 17:35:58 +08:00
@chashao 是的 我脑子短路了 还是基础不扎实啊!! 想明白后 感觉自己好二
freefcw
2018-08-12 18:52:38 +08:00
@jakeyfly 囧,你这描述和本意隔得有点远啊。不过说实话,我也没去仔细看代码,python 也不扎实

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/479035

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX