Cherrypy:无法获取我的 POST 数据
我用 CherryPy 编写了一个小型网络应用程序。但我有一个问题 - 我无法获取我的 POST 数据,但 GET 没问题。托管在本地主机(Win 7)上,使用Opera 10查看,使用CherryPy内置服务器。
这是一些代码:
class Expose:
def __init__(self, fn):
self.fn = fn
@cherrypy.expose()
def index(self, login=None):
print 'LOGIN: ' + str(login)
return self.fn(login=login)
import auth
root.process_form = Expose(auth.process_form)
这是我的 URL 开关。如果表单使用 POST,LOGIN 将打印 None,如果使用 GET,则打印正确的值。这是我的表格(模板):
<!DOCTYPE html>
<body>
<p>Create new user</p>
<form action="/process_form" method="post">
<input type="text" name="login" value="login" />
<input type="text" name="email" value="[email protected]" />
<input type="text" name="password" value="123" />
<input type="submit" />
</form>
</body>
我无法猜测出了什么问题。我可以检查什么?
I write a tiny webapp with CherryPy. But I has a problem - I can't get my POST data, but GET is ok. Hosted on local host (Win 7), viewed with Opera 10, using CherryPy built-in server.
Here is some code:
class Expose:
def __init__(self, fn):
self.fn = fn
@cherrypy.expose()
def index(self, login=None):
print 'LOGIN: ' + str(login)
return self.fn(login=login)
import auth
root.process_form = Expose(auth.process_form)
This is is my URL switch. LOGIN prints None if form uses POST, and proper value for GET. Here is my form (template):
<!DOCTYPE html>
<body>
<p>Create new user</p>
<form action="/process_form" method="post">
<input type="text" name="login" value="login" />
<input type="text" name="email" value="[email protected]" />
<input type="text" name="password" value="123" />
<input type="submit" />
</form>
</body>
I can't guess what goes wrong. What may I check?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
尝试使用:
注意“/process_form/ 中的最后一个斜杠”
Try with:
Note the final slash in "/process_form/
我不知道 root.processform 在 CherryPy 中是否有特殊之处,如果不是,您需要公开 process_form 页面,
我可能会丢失一些东西
I don't know if root.processform is something special in CherryPy, if not you need to expose a process_form page
I may be missing something