В Python 2 для использования super
вам нужно использовать классы нового стиля:
class Operation(object): # makes the base-class a new-style class
# your code
class OperationWithMul(Operation):
# your code
# ...
И вам нужно передать текущий класс и экземпляр явно super
:
super(OperationWithMul, self).Sub(n1, n2)
В Python 3 у вас не будет этих проблем, потому что все классы являются новыми, а super
запрашивают необходимые аргументы. Несмотря на то, что это, вероятно, выходит за рамки вопроса, вам стоит подумать о переходе на Python 3.
Также имена методов в Python обычно начинаются с буквы нижнего регистра. Это не жесткое правило, но может сделать ваш код более понятным для других программистов на Python (например, я).
Вы не можете использовать экземпляр PyMongo
до тех пор, пока не будет вызван init_app
- я думаю, что в вашем views.py вы еще не импортировали server.py или иным образом не убедились, что вызывается init_app
.