执行rails风格的put和delete请求模拟的wsgi中间件
emulaterest的Python项目详细描述
执行rails风格的put和delete请求模拟的wsgi中间件。
中间件截取包装好的应用程序的响应并查看 对于具有method="PUT"或method="DELETE"的表单。每种形式 它将method的值替换为“post”,并添加一个隐藏的输入 包含原始请求方法的字段_method。 它还截获传入的请求并进行反向转换。
这意味着您可以在 HTML代码,无需担心浏览器对这些 请求方法。
安装
您可以从PyPI:
easy_install emulaterest
或者您可以从 github repository:
git clone git://github.com/abiczo/emulaterest.git cd emulaterest python setup.py install
注释
- 对于text/html文档,默认行为是插入html样式 <input>元素。您可以告诉emulaterest注入xhtml样式 <input/>元素,可以使用force_xhtml选项,也可以使用 将文档作为application/xhtml+xml提供。
- 如果您使用的是gzip中间件或任何其他修改 内容编码,确保emulaterest包装在 中间件而不是相反。
示例
使用web.py:
的完整工作示例import web urls = ('/', 'index') class index: def GET(self): web.ctx['headers'].append(('Content-Type', 'text/html')) return """<html><head><title>PUT test</title></head><body><div> <form method="PUT" action="/"> <div> <input type="text" name="inp" value="value"> <input type="submit" value="Submit"> </div> </form> </div></body></html> """ def PUT(self): return 'PUT ' + str(web.input()) if __name__ == '__main__': import emulaterest app = web.application(urls, globals()) app.run(emulaterest.EmulateRestMiddleware)