将表单信息发送到python模块
我正在使用tornado框架,我想将用户输入的信息发送到另一个python模块的表单中。目前在python模块中,我有一个tornado类,它获取表单输入数据,如下所示:将表单信息发送到python模块,python,tornado,Python,Tornado,我正在使用tornado框架,我想将用户输入的信息发送到另一个python模块的表单中。目前在python模块中,我有一个tornado类,它获取表单输入数据,如下所示: class MainHandler(tornado.web.RequestHandler): def get(self): self.render('main.html') def post(self): event = self.get_argument('event')
class MainHandler(tornado.web.RequestHandler):
def get(self):
self.render('main.html')
def post(self):
event = self.get_argument('event')
print event
现在我想将此数据(事件)作为arg发送到另一个模块
更完整的代码是:
import tornado.httpserver
import tornado.websocket
import tornado.ioloop
import tornado.web
import tornado.options
from pymongo import Connection
from bson import json_util
import json
import os.path
class MainHandler(tornado.web.RequestHandler):
def get(self):
self.render('main.html')
def post(self):
event = self.get_argument('event')
return event
if __name__ == "__main__":
print 'Server is alive.....'
app = tornado.web.Application(
handlers=[(r'/', MainHandler)],
#(r'/ws', WSHandler)],
template_path=os.path.join(os.path.dirname(__file__), "templates"),
debug=True)
tornado.options.parse_command_line()
http_server = tornado.httpserver.HTTPServer(app)
http_server.listen(8888)
tornado.ioloop.IOLoop.instance().start()
所以我在一个类函数中有一个变量(事件),我想在另一个模块中使用它。这就是我感到困惑的地方。所说的模块是指您可以在本地访问的东西还是外部服务的东西 如果是本地的,只需导入正确的模块和函数即可
from yourpackage.yourmodule import yourfunction
yourfunction(event)
如果您想通过http向外部服务发送数据,tornado为此提供了一个异步http客户端
我误解了您的问题MainHandler
是作为服务器运行的,它使用:
application = tornado.web.Application([
(r"/", MainHandler),
])
if __name__ == "__main__":
application.listen(8888)
tornado.ioloop.IOLoop.instance().start()
然后,这将通过对localhost:8888的请求公开您的方法。所以,如果您在浏览器中转到localhost:8888,就会呈现main.html
模板
然后,如果您使用
事件
参数向localhost:8888
发出post请求,它将被回显,以便您在本地查看这是我自己的模块。那么,我可以先“从Tornadpy导入MainHandler”,然后再执行MainHandler(事件)吗?我有点困惑,因为MainHandler是一个类。我们也对您试图实现的目标感到困惑:)在main.html中,用户在表单中输入一个关键字……MainHandler然后获取此数据。我现在想把它发送到另一个模块,该模块将使用它进行处理。我知道我们可以导入模块,但我对在类中使用函数作为它的函数感到困惑。然后,似乎您需要在某个地方创建此类的对象,并对其调用方法。向我们展示更多的代码,否则没有人能帮助你。