【发布时间】:2012-03-06 19:52:23
【问题描述】:
我正在尝试以某种方式在类 (@classmethod) 中使用装饰器“注册”一个方法,以便以后可以轻松调用它。
到目前为止,我已经尝试在我的装饰器中获取整个“命名空间”,但没有任何结果。
我只能获得__module__,但我无法获得此方法所在的类的名称(因为我在__init__ 期间注册了它,而不是在我的自定义装饰器中的__call__ 期间注册) .
有什么方法可以实现吗?
我认为唯一的方法是inspect 整个文件并以某种方式测试该方法是否存在于每个类中,因此inspect 解决方案也被接受
更多信息
基本上,我正在尝试 fork django-dajaxice 并修改 this 装饰器以便能够注册完整路径函数(包含类名)以便从 AJAX 调用例如 my.namespace.views.MyView.as_view(...)(我知道它更多复杂,我正在尝试简化)
【问题讨论】:
-
你的问题我不太清楚。你能显示一些代码吗?对您尝试解决的问题进行更广泛的描述也将不胜感激 - 可能有更简单的方法。