Python超级不在示例中显示为什么?

时间:2015-01-25 14:52:56

标签: python

我在下面做错了什么?在ClassA中,我可以访问request.DATA我将它传递给Base类,但得到错误:

  

AttributeError:'Base'对象没有属性'DATA'

但是当我传递请求时,这应该有访问权限,那为什么这不起作用?

class Base(object):
    def post(self, request, *args, **kwargs):
        print("=========After==============")
        print(request.DATA)



class ClassA(Base):
    def post(self, request, *args, **kwargs):

        print("=========Before=============")
        print(request.DATA)

        super(ClassA, self).post(self, request, *args, **kwargs)

1 个答案:

答案 0 :(得分:2)

你在超级电话中传递self两次。对post的调用是标准方法调用,因此始终自动包含self。它应该是:

 super(ClassA, self).post(request, *args, **kwargs)