2016-08-11 4 views
0

Это мой web.py-код. Я хочу использовать свой веб-сервер для обновления таблицы.Как использовать метод POST в web.py для обновления таблицы в базе данных postgreSQL?

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() 

Прямо сейчас он берет то, что находится в таблице, и распечатывает его в браузере. Но я хочу реализовать некоторую логику, которая добавляет числовые значения в таблицу, поскольку цикл while работает с использованием метода post. Как я могу это сделать?

ответ

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 также.