0

多行代码落入"__main__". 有人可以告诉我如何将 SessionMiddleware 移动到句柄方法中吗?我应该注意到我在 CoreXmlParser 中使用了会话。提前致谢 !

def handle(environ, start_response):
        req = webob.Request(environ)
        c = CoreXmlParser(req)
        resp = webob.Response(body=c(), charset = 'utf-8', status='200 OK', \
        request=req, content_type='text/xml')
        resp(environ, start_response)
        return resp.app_iter

    if __name__ == '__main__':
        #parse config file for session options
        app = SessionMiddleware(handle, some_session_opts_here)
        from flup.server.fcgi import WSGIServer
        WSGIServer(app).run()
4

1 回答 1

0

我不确定我是否理解您为什么只尝试移动一条线。如果你想减少 " __main__" 中的东西的数量,为什么不把所有的 " #parse config file" 东西移到一个单独的函数中呢?

def handle(environ, start_response):
    # same as before

def create_app(config_file):
    #parse config file for session options
    return SessionMiddleWare(handle, some_session_opts_here)

if __name__ == '__main__':
    app = create_app(config_file)
    from flup.server.fcgi import WSGIServer
    WSGIServer(app).run()
于 2010-05-20T06:57:28.823 回答