Я пытаюсь просто обработчики моих веб-приложений, используя декораторы Python.
По сути, я хочу использовать декораторы для абстрагирования кода, который проверяет аутентифицированные сеансы, и другого, который проверяет, есть ли у поставщика кэша (в данном случае Memcache) подходящий ответ.
Рассмотрим определение этого метода с декораторами:
@auth.login_required
@cache.clear
def post(self, facility_type_id = None):
auth.login_required проверяет, вошел ли пользователь в систему, в противном случае возвращает соответствующее сообщение об ошибке или выполняет исходную функцию.
cache.clear проверит наличие определенного ключа в кеше и сбросит его, прежде чем выполнит вызывающий метод.
И auth.login_required, и cache.clear хотели бы в конечном итоге выполнить вызывающий метод (post).
Из того, что я прочитал оба, выполнение того, что я делаю сейчас, будет выполнять вызывающий метод (post) дважды.
Мой вопрос, как мне связать декораторы, которые в конечном итоге выполняют вызывающий метод, но гарантируют, что он вызывается только один раз.
Ценю любые указатели и спасибо за ваше время.