我想知道如何通过服务调用使用SQLFORM更新数据库使用SQLFORM更新数据库。例如如何通过服务调用
db.py包含
db.define_table('person',
Field('name'),
Field('email'))
控制器包含
@service.run
def display_form():
form = SQLFORM(db.person)
if form.accepts(request.vars):
return "success"
else:
return "failure"
的HTTP POST变量作为数据= { “名称” 发送: “XYZ”, “电子邮件”:“XYZ @ gmail.com“}
我想知道我是否正确sendign后的变量。我总是得到失败的消息。为什么数据库没有得到更新。请给我一些指导。其实我想用form = auth.register()来做到这一点。我需要通过服务调用输入auth表值。但这是很长的路要走。
在此先感谢
安东尼,
这是我张贴的方式。
url = "http://mydomain.com/myapp/mycontroller/api/person"
data = {"name":"peter","email":"[email protected]"}
datatosend = urllib.urlencode(data)
request = urllib2.Request(url,datatosend)
res = urllib2.urlopen(req)
但是api中的POST方法根本看不到这个人。请帮帮我。我迫切需要。
感谢安东尼,但你能解释一下我为什么我的功能如问题所示没有达到预期效果。 – athinker
安东尼,我试图RESTful Web服务,但它没有采取请求。它不是在所有的表名中标识。我正在使用urllib2进行POST。 – athinker
查看上面更新的答案。 @ request.restful版本适用于我 - 也许你的POST请求有问题。 – Anthony