您必须从响应返回部分中抽象出代码的列表生成部分。
Mother 的这段代码虽然不是完全无效的,但也不是可以工作的东西:
return HttpResponse(data, mimetype='application/json', status=200)
return list
在第一个 return 语句之后,Python 不再执行该方法,因此第二个 return 将永远不会运行。
尝试像这样拆分它:
class Mother(object):
def makeList(self)
data['list'] = [2,3,4,5]
data = json.dumps(data)
return data
def getList(self)
data = self.makeList()
return HttpResponse(data, mimetype='application/json', status=200)
class Child(Mother)
def makeList(self)
my_list = super(Child, self).makeList()
# do something to it
return my_list
现在在 Mother 对象上有一个makeList
方法,它构造实际的列表,并将getList
其格式化为 HttpResponse 对象。
在 Child 中,makeList
被覆盖,但首先从 Mother 调用版本。之后,您可以进行所需的任何修改,然后将其返回。当您调用child.getList()
时,它将使用该新列表,然后将其呈现给 HttpResponse,因为它继承getList
自 Mother。