Мне нужно разработать API для обновления строк в моей Postgresql БД. Использование API было бы безопаснее, я собираюсь визуализировать html непосредственно из API, а не из БД.
Мой код API выглядит следующим образом:
def connect_to_db():
try:
global connection
global cursor
connection = psycopg2.connect(user = "*****",
password = "****",
host = "****",
port = ****,
database = "****")
cursor = connection.cursor()
print(" CONNEXION OK ")
except (Exception, psycopg2.Error) as error :
print ("Error while connecting to PostgreSQL", error)
except (NameError) as nameError :
print("NameError", file=sys.stdout)
def close_db_connect():
#closing database connection.
if(connection):
cursor.close()
connection.close()
print("PostgreSQL connection is closed")
def requete(schema, table_name, where_clause, new_value):
req = "UPDATE "+schema+"."+table_name+" SET ville = '"+new_value+"' WHERE id = '"+where_clause+"';"
print(req)
sql_select_after_update = "Select * From "+schema+"."+table_name+";"
print(sql_select_after_update)
dat = sqlio.read_sql_query(sql_select_after_update, connection)
dat_json = dat.to_json()
print(dat_json)
return dat_json
@app.route('/', methods=("POST","GET","PUT))
def update():
if request.method == 'PUT':
connect_to_db()
requete('public', 'testeditapi', 'hello', 'Paris')
#close DB connexion
close_db_connect()
return'''<h1>UPDATE<h1>'''
Я не не знаю, является ли это хорошим способом кодирования API, более того, мне нужно в другом Flask классе для редактирования строки, используя requests.put
, и я получаю эту ошибку:
TypeError : Функция просмотра не вернула правильный ответ. Функция либо вернула None, либо завершилась без оператора return.