Werkzeug中的线程和本地代理.用法

I15*_*159 6 python import werkzeug flask

首先,我想确保我理解功能的分配正确.分配的本地代理功能是通过线程内的模块(包)共享变量(对象).我对吗?

第二,我的用法仍然不清楚,可能是因为我误解了一项任务.我用Flask.如果我有两个(或更多)模块:A,B.我想将模块A中的对象C导入模块B.但我不能以通常的方式执行from A import C,因为它会导致循环导入,然后导致ImportError .如何使用Werkzeug本地代理解决此问题?我应该和Werkzeug一起做吗?

模块A:

from werkzeug.local import LocalSomething # LocalProxy or LocalStack

C = 'C'
# Somehow add C to LocalSomething
Run Code Online (Sandbox Code Playgroud)

模块B:

from werkzeug.locla import LocalSomething

C = LocalSomething()['C']
Run Code Online (Sandbox Code Playgroud)

mde*_*erk 7

模块Z:

from werkzeug.local import Local
myLocals = Local()
Run Code Online (Sandbox Code Playgroud)

模块A:

from Z import myLocals
myLocals.C = "C"
Run Code Online (Sandbox Code Playgroud)

模块B:

from Z import myLocals
C = getattr(myLocals, "C", None)
Run Code Online (Sandbox Code Playgroud)

这是你要找的?