/ / Django / Python: Jak wywołać funkcję z klasy nadrzędnej w klasie podrzędnej? - python, django, dziedziczenie

Django / Python: Jak wywołać funkcję z klasy nadrzędnej w klasie potomnej? - python, django, dziedziczenie

Obecnie mam dwie klasy, Main i Calculator. Main ma w sobie wiele funkcji. Usiłuję wywołać funkcje wewnątrz głównego z mojej klasy kalkulatora. Jak mam to zrobić?

Oto mój obecny widok ...

class Main(object):
template = ""
favorite_number = None
least_favorite_number = None

def add (self, request, a, b):
return a + b

def subtract(self, request, a, b):
return a - b

def multiply(self, request, a, b):
return a * b

def divide(self, request, a, b):
return a / b

def get(self, request):
return render(request, "inherit/index.html")

class Calculator(Main, View):
template = "calculator/index.html"
favorite_number = 20
least_favorite_number = 2

print self.add(request, favorite_number, least_favorite_number)

Odpowiedzi:

1 dla odpowiedzi № 1

Twój kod wydaje się być w porządku, z wyjątkiem faktu, że print instrukcja nie jest odpowiednio wcięta i dlatego nie jest częścią Calculator() Nie ma też sensu dodawać self i request do Main metody.

views.py

class Main(object):
template = ""
favorite_number = None
least_favorite_number = None

def add(a, b):
return a + b

def subtract(a, b):
return a - b

def multiply(a, b):
return a * b

def divide(a, b):
return a / b

class Calculator(Main, View):
template = "calculator/index.html"
favorite_number = 20
least_favorite_number = 2

def get(self, request):
print self.add(self.favorite_number, self.least_favorite_number)
return render(request, self.template, {})

Pamiętaj, że aby zobaczyć print instrukcja w konsoli, musisz faktycznie patrzeć na widok. Więc połącz Calculator przejrzyj do urls.py, przejdź do strony i powinieneś zobaczyć, czy print instrukcja działa w konsoli.