Python Tornado - 从 HTML 中的表单输入访问值时出现问题

Python Tornado - Problem accessing value from Form input in HTML

我在 HTML 中访问表单输入的值时遇到问题。我正在使用 Tornado。

它给我错误:WARNING:tornado.access:404 GET /Python_Tornado_IV.py?input1=pedro (127.0.0.1) 0.00ms

这些是文件:

文件“Python_Tornado_IV.py”:

import tornado.web
import tornado.ioloop

class MainHandler(tornado.web.RequestHandler):
  def get(self):
    self.render("index.html")
    if self.get_argument("input1") is not None:
      valor = self.get_argument("input1")
      print("Valor introduzido:", valor)
    else:
     print("Não foi introduzido nenhum valor!")

app = tornado.web.Application([(r"/", MainHandler)])
app.listen(8888)
tornado.ioloop.IOLoop.current().start()

文件“index.html”:

<!Doctype html>
<html>
  <body>
    <form name="form1" action="Python_Tornado_IV.py" method="get">
      <input type="text" name="input1">
      <input type="submit" value="Submit">
    </form>
  </body>
</html>

两个文件都在同一个目录中。

在 Tornado 中,您不会向文件发出请求。相反,您向处理程序的注册网址发出请求。

因为您已将 MainHandler 的路径设置为 r"/",所以这是您应该向其发出请求的地方。

将表单的操作更改为:

action="/"