Ниже приведен код декоратора моего входа в систему
Код: Выделить всё
def decorate_verify_user(fun):
def nothing():
logging.debug("no username password available")
return template("failed_login.html",post_data="No post_data")
@wraps(fun)
def do_it():
if(verify_user()==True):
fun()
else:
nothing()
logging.debug("function name of do_it is {}".format(do_it.__name__))
return do_it
Код: Выделить всё
@route('/view_antigen', method='POST')
@decorate_verify_user
def view_antigen():
logging.debug('view_antigen() entered...')
m=mysql_lis()
con=m.get_link(astm_var.my_host,astm_var.my_user,astm_var.my_pass,astm_var.my_db)
cur=m.run_query(con,prepared_sql='select * from antigen',data_tpl=())
all_data=m.get_all_rows(cur)
logging.debug("antigen data:{}".format(all_data))
if(all_data==None):
logging.debug('antigen data not found')
m.close_cursor(cur)
m.close_link(con)
return False
m.close_cursor(cur)
m.close_link(con)
logging.debug('view_antigen.html entering...')
return template("view_antigen.html",all_data=all_data)
Но со строкой @decorate_verify_user отображается только пустая страница. (Однако инструмент веб-разработчика браузера правильно отображает все переменные POST. В файле журнала также отображаются все операторы до
строки logging.debug('view_antigen.html Entering...')
Каково объяснение/исправление такого поведения?
Подробнее здесь: https://stackoverflow.com/questions/792 ... or-is-used