LINUX.ORG.RU

Как использовать before_request в flask из отдельного ресурса

 , ,


1

1

Пишу приложение с использованием flask и flask-restful.
Вот тестовый ресурс приложения с методом put: https://p.teknik.io/qhrtq
Как мне перед этим методом можно использовать декоратор before_request который вызывается из контекста (app, к примеру @app.before_request)?
структура файлов https://u.teknik.io/ICGic.png
run.py - https://p.teknik.io/ZGYG2
app.py - https://p.teknik.io/AXNmZ

★★★

Последнее исправление: noname_user (всего исправлений: 1)

Это приведет к случаю, когда ресурс будет импортировать app из run, run будет импортировать api_bp из app, а app будет импортировать ресурсы.

Так нельзя.

Octagon
()
Ответ на: комментарий от noname_user

Я не знаю, какую проблему она решает, поэтому не могу сказать.

Если бы мне нужно было засунуть функцию в @app.before_request, то я бы сделал это рядом с определением app.

Octagon
()
Ответ на: комментарий от Octagon

каким образом ? ведь это декоратор которые оборачивать должен функцию непосредственно при ее вызове в ресурсе или я что то не допонял

noname_user ★★★
() автор топика

Объясни в чём смысл твоей задумки? Ты можешь задекорировать этот метод своим кастомным декоратором и выполнить любую нужную тебе логику перед его вызовом.

WitcherGeralt ★★
()
Ответ на: комментарий от WitcherGeralt

В своей старой обёрточке над блупринтами как раз типа flask-restful я примерно так и делал:

    @access(
        groups.secret_group0,
        groups.secret_group1
    )
    @accept_processing_state(0, 1, 2)
    @accept_methods("GET")
    @accept_args(issue=int, issuetext=None)
    def reject(self, issue, issuetext=None):
        pass
WitcherGeralt ★★
()
Ответ на: комментарий от Octagon

У меня там ещё интроспекция была встроенная, для каждой вьюхи — энтрипоинта — есть эндпоинт map, где видны все эндпоинты, их аргументы и методы, а в корне список этих энпоинтов с картами всех вьюх.

WitcherGeralt ★★
()
Ответ на: комментарий от Octagon

да, дело в том что у меня бэкенд для мобы. Вот думал как по доке применить было бы это правильно

noname_user ★★★
() автор топика
Ответ на: комментарий от Octagon

а если вообще пилить свой декоратор кастомный никак не связанный с flask-restful и marshmallow и вызывать его перед post, get, put? Не будет ли это зашкваром или не сказится ли это на работе приложения в худшую сторону? Там чекать нужно лишь jwt передаваемый в header

noname_user ★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.