Когда вы обращаетесь к объектному методу, вам нужно инициировать экземпляр класса.Таким образом, при доступе к методам trocaPlano
и update
(те, у которых self
является первым параметром метода, они ссылаются на сам объект, вроде this
в JS) класса Rest
, необходимо инициироватьобъект класса Rest
, например Rest()
.
Вам необходимо обновить код следующим образом:
# view
from .lib.rest import Rest
from django.shortcuts import get_object_or_404
class AssinaturaUpdate():
...
def post(self, request, id):
assinatura = get_object_or_404(Assinatura, id=id)
form = FormAssinatura(request.POST)
if form.is_valid():
Rest().update(form.cleaned_data, id)
return redirect('assinatura_edit', id=id)
# rest
class Rest():
def trocaPlano(self, assinatura_id):
payload = {
"id": assinatura_id
}
print(payload)
def update(self, data, assinatura_id):
self.trocaPlano(assinatura_id)
headers = {"Content-Type": "application/json", "Accept": "application/json", "Authorization": TOKEN} # <-- How this token comes here
r = requests.put(url='https://rest.com/subscriptions/'+assinatura_id, data=json.dumps(payload), headers=headers)