Python декоратор? - Может кто-нибудь, пожалуйста, объясните это?

Извинения это очень широкий вопрос.

Код ниже является фрагментом чего-то найденного в сети. Главное, что меня интересует, это начало строки @protected - мне интересно, что это делает и как это делает? Похоже, что он проверяет, вошел ли действительный пользователь перед выполнением функции do_upload_ajax. Это выглядит как действительно эффективный способ аутентификации пользователей. Я не понимаю механизма этой @ функции - может ли кто-нибудь направить меня в правильном направлении, чтобы объяснить, как это будет реализовано в реальном мире? Python 3 отвечает, пожалуйста. Благодарю.

@bottle.route('/ajaxupload', method='POST')
@protected(check_valid_user) 
def do_upload_ajax():
    data = bottle.request.files.get('data')
    if data.file:
        size = 0

Ответы на вопрос(6)

Ваш ответ на вопрос