Új hozzászólás Aktív témák

  • sztanozs

    veterán

    válasz tvamos #3093 üzenetére

    Dekorátorban könnyű megvalósítani olyan dolgokat, amiket függvényen belül plusz hívásokkal tudnál csak megoldani. Ráadásul szebben újrahasználható, mintha a függvényen belül helyeznénk el, pl.:
    class User:
    ...
    def authenticate(self, username, password):
    ...
    #bejelentkezik

    @is_authenticated
    def change_password(self):
    ...
    #jelszót vált

    @is_authenticated
    @is_admin
    def change_password_for_others(self, user):
    ...
    #jelszót vált másik usernél

    vagy pl logolási szinteket adhatunk meg fv hívásoknak és a konfigurációban beállított logolási szintnek megfelelően lesz (vagy nem lesz) logolva az adott esemény:
    class User:
    ...
    @log(loglevel=1)
    def authenticate(self, username, password):
    ...
    #bejelentkezik

    @log(loglevel=1)
    @is_authenticated
    def change_password(self):
    ...
    #jelszót vált

    @log(loglevel=2)
    @is_authenticated
    @is_admin
    def change_password_for_others(self, user):
    ...
    #jelszót vált másik usernél

    [ Szerkesztve ]

    JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...

Új hozzászólás Aktív témák