向Python web.py web服务器传递变量以供GET/POST处理使用

2024-06-11 14:58:53 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个简单的网页.py网络服务器。在向web服务器发出POST请求后,我想修改我在main()中创建的对象。但是我不知道如何将一个变量注入web服务器,以便index类可以访问它。在

这是我的代码:

import web
import multiprocessing

class index:
    def POST(self):
        # modify 'obj' instance of MyObject from main()

class MyWebApp(web.application):
    def run(self, port=8080, *middleware):
        func = self.wsgifunc(*middleware)
        return web.httpserver.runsimple(func, ('0.0.0.0', port))

urls = ( '/', 'index' )
app = MyWebApp(urls, globals())

def launchWebApp(_port=8080):
    app.run(port=_port)

def main():

    obj = MyObject()

    port=36011
    p = multiprocessing.Process(target=launchWebApp, args=(port,))
    p.start()

if __name__ == "__main__":
    main()

如何使obj可访问{}?在


Tags: runimportself服务器webobjindexmain
1条回答
网友
1楼 · 发布于 2024-06-11 14:58:53

您不能真正“传递”它,但是您可以使您的obj全局化,或者可以将其附加到web.config,这也是全局的。例如。在

class index:
    def POST(self):
        web.config.obj.update({'foo': 'bar'})
        ...

def main():
    web.config.obj = MyObject()

...

相关问题 更多 >