LocalProxy源碼
LocalProxy的源碼太長,就不放這兒抵屿,實(shí)現(xiàn)原理與之前文章模仿LocalProxy的文章
基本是一樣摹恰,只是LocalProxy更加完善。
LocalProxy使用
# 使用werkzeug的Local
from werkzeug.local import Local,LocalStack, LocalProxy
class Request(object):
def __init__(self):
self.url = 'baidu.com'
class User(object):
def __init__(self):
self.owner = 'www'
r = Request()
u = User()
# 使用Local
l = Local()
l.request = r
l.user = u
# request是LocalProxy對象
request = l('request')
print(request.url)
# 使用LocalStack
ls = LocalStack()
ls.push(r)
# request是LocalProxy對象
request = ls()
print(request.url)
# 顯示使用LocalProxy
request = LocalProxy(l, 'request')
print(request.url)
user = LocalProxy(l, 'user')
print(user.owner)
以上代碼基本對Local使用進(jìn)行了介紹硼婿,對于整個(gè)Local系列來說也就結(jié)束了锌半,唯一沒有介紹就是Local與線程和協(xié)程的配合使用,后續(xù)需要用到的時(shí)候再介紹寇漫。