Бутылка Python не отображает вывод шаблона при использовании декоратора входа в системуPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Бутылка Python не отображает вывод шаблона при использовании декоратора входа в систему

Сообщение Anonymous »

Я пытаюсь использовать декоратор для проверки пользователя в веб-фреймворке Bottle для Python.
Ниже приведен код декоратора моего входа в систему

Код: Выделить всё

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, шаблон будет отображаться так, как ожидалось.
Но со строкой @decorate_verify_user отображается только пустая страница. (Однако инструмент веб-разработчика браузера правильно отображает все переменные POST. В файле журнала также отображаются все операторы до
строки logging.debug('view_antigen.html Entering...')
Каково объяснение/исправление такого поведения?

Подробнее здесь: https://stackoverflow.com/questions/792 ... or-is-used
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»