为什么在Werkzeug中需要绑定到上下文

时间:2015-11-02 15:13:58

标签: python python-2.7 werkzeug

我正在阅读github中的Werkzeug库的源代码和其中一个示例(Simplewiki来命名它),在application.py文件中有一个绑定了应用于当前活动上下文。我想知道为什么这是必要的,或者我在哪里可以找到解释这个的东西?

功能如下:

def bind_to_context(self):
        """
        Useful for the shell.  Binds the application to the current active
        context.  It's automatically called by the shell command.
        """
        local.application = self

这是调度员绑定请求的部分。

def dispatch_request(self, environ, start_response):
        """Dispatch an incoming request."""
        # set up all the stuff we want to have for this request.  That is
        # creating a request object, propagating the application to the
        # current context and instanciating the database session.
        self.bind_to_context()
        request = Request(environ)
        request.bind_to_context()

1 个答案:

答案 0 :(得分:1)

据我所知,# wrapper.sh while IFS=, read -r id domain do result=$(./check.axfr.sh "$domain") echo "$id,$result" done 中的$ bash wrapper.sh < Input.txt 是关于在不同线程之间分离环境。例如,contexts框架中的上下文非常常见,它建立在Werkzeug之上。您可以在多线程模式下运行Flask应用程序。在这种情况下,您将只有一个应用程序对象,可以同时由多个线程访问。每个线程都需要应用程序中的一段数据供私人使用。存储此类数据的方式是thread's local storage。这被称为背景。