Peut un Python décoratrice d'une méthode d'instance accéder à la classe?

Salut j'ai quelque chose à peu près comme suit. Essentiellement, j'ai besoin d'accéder à la classe d'une méthode d'instance à partir d'un décorateur utilisé sur la méthode d'instance dans sa définition.

def decorator(view):
    # do something that requires view's class
    print view.im_class
    return view

class ModelA(object):
    @decorator
    def a_method(self):
        # do some stuff
        pass

Le code que-est donne


AttributeError: 'function' object has no attribute 'im_class'

J'ai trouvé la même question/réponses - Python décorateur fait la fonction oubliez pas qu'il appartient à une classe et Obtenez de classe en Python décorateur - mais ceux-ci dépendent d'une solution de contournement qui saisit l'instance au moment de l'exécution en arrachant le premier paramètre. Dans mon cas, j'ai appeler la méthode basée sur l'information recueillie à partir de sa classe, donc je ne peux pas attendre un appel pour venir en.

Merci.

InformationsquelleAutor Carl G | 2010-03-02