post请求对应的html页面
页面效果
html代码
<html> <body> <form method="post" > First name: <input type="text" name="fname" /><br /> Last name: <input type="text" name="lname" /><br /> <input type="submit" value="Submit" /> </form> </body> </html>
讲解:
1) <form method="post"></form> 表示这个表单使用post方式提交数据,除了post还可以配置为get。
2) <input type="text" name="fname" /> 表示这个表单包含参数fname,参数值是用户在页面输入的值。
3) <input type="submit" value="Submit" /> 表示这个元素显示为按钮样式,点击后提交表单。
4)小技巧: <input name="route" type="hidden" value="account"/> 因为type=“hidden”,所以这个元素不会显示出来。不同表单的route参数取不同的value值。后台可以根据route的值,为不同表单分配不同处理函数。
post请求的后台处理
后台使用python的BaseHTTPServer模块。
def do_POST(self): """Serve a POST request. 分析post请求中的route参数。并执行相应的操作。 """ form = cgi.FieldStorage( fp=self.rfile, headers=self.headers, environ={ 'REQUEST_METHOD': 'POST', 'CONTENT_TYPE': self.headers['Content-Type'], } ) route = form.getvalue('route') self.do_action(route, form)
讲解:
1)使用python中的cgi模块处理表单数据,很方便。
2)通过route参数的值,识别表单,进而分配不同的处理函数。