我想知道如何通過服務調用使用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