tornado URL 和 HTML 表单
我正在使用tornado框架,想要从一个HTML表单中把一些数据插入到我的MongoDB数据库里。
在我的HTML文件中,有一个这样的表单:
<form method="get" >
这个表单里有两个文本框和一个提交按钮。
但是我不知道“action”应该设置成什么。
我有一个处理类,里面有一个叫“post”的函数,代码如下:
class MyHandler(tornado.web.RequestHandler):
def post(self):
name = self.get_argument("Name", "")
index = self.get_argument("Index","")
.... code for updating MongoDB
我还有一个叫BaseUrl.py的文件,里面包含了:
(/admin/edit[/]?',MyHandler )
但是似乎我在myHandler里的“post”函数没有被执行。
你能给我一些建议,告诉我如何正确设置我的URL和表单的action吗?
2 个回答
1
你的表单方法没有被调用,因为你的表单里写的是 method="get"
。把它改成 method="post"
,这样可能就能正常工作了。
如果动作(action)是空的,浏览器会把请求提交到当前页面。所以如果你在同一个网址有处理表单的 get 方法,就不需要特别指定它了。
2
把表单的方法改成POST,因为你是在处理一个POST请求:
<form method="POST" >
如果这个表单是从不同的页面发出的,你还需要提供一个动作,所以你的表单应该是:
<form method="POST" action="/admin/edit">