2015-12-16 8 views
5

Chcę, aby mój schemat Flask zawsze uruchamiał metodę przed wykonaniem jakichkolwiek tras. Zamiast dekorowania każdą metodę trasy w moim planem z niestandardowego dekoratora, chcę być w stanie zrobić coś takiego:Kolba: Jak uruchomić metodę przed każdą trasą w projekcie?

def my_method(): 
    do_stuff 

section = Blueprint('section', __name__) 

# Register my_method() as a setup method that runs before all routes 
section.custom_setup_method(my_method()) 

@section.route('/two') 
def route_one(): 
    do_stuff 

@section.route('/one') 
def route_two(): 
    do_stuff 

Potem w zasadzie zarówno /section/one i /section/two potrwa my_method() przed wykonaniem kodu w route_one() lub route_two().

Czy istnieje sposób, aby to zrobić?

Odpowiedz

10

Można użyć before_request dekorator na plany. W ten sposób:

@section.before_request 
def my_method(): 
    do_stuff 

To automatycznie rejestruje funkcję, która ma zostać uruchomiona przed trasami należącymi do planu.

Powiązane problemy