如何在web.py中使用POST方法更新postgreSQL数据库中的表?

时间:2016-08-11 20:26:27

标签: python postgresql rest web.py

到目前为止,这是我的web.py代码。我想使用我的Web服务器来更新表。

import web


urls = ('/', 'Index')

render = web.template.render('templates/')

app = web.application(urls, globals())

web.config.debug = True

db = web.database(dbn='postgres', db='my_db', user='postgres', pw='******', host='localhost')

class Index:

    def GET(self):
        drivers = db.select("drivers")
        return render.index(drivers)

    def POST(self, name):
        return "post"

if __name__ == '__main__':app.run()

现在它需要表格中的内容并在浏览器中打印出来。但我想实现一些逻辑,当使用post方法运行while循环时,向表中添加数值。我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:0)

您可以按照以下方式进行Postgres插入,

def POST(self):
    sequence_id = db.insert('test1', col1=5, col2=3)  # insert(tablename, seqname=None, _test=False, **values)

有关详细信息,请参阅this

您可以使用,

data = json.loads(web.data()) # convert to dictionary if needed using json.loads

data = web.input().number # number is the key which holds the data

取决于您向POST方法发送数据的方式。

例如:如果content-type = application/json使用web.input().number

同时参考this