Я пытаюсь вызвать внешний api из представления, основанного на классе. В настоящее время у меня есть представление ниже, которое вызывает API. Однако на данный момент я просто вызываю API с api(username, password)
, и он возвращает данные, но не сохраняет их.django вызов внешний api из вида
Как я могу передать модель, используемую в modelform в представлении, для функции api, чтобы она могла сохранять возвращенные данные соответствующему пользователю. (то есть, какой метод мне нужно переопределить в CBV).
Дополнительный лучший способ для вызова внешнего api в django (для инициализации по завершению формы). В настоящее время поездка по API проходит через 5-10 секунд, что в настоящий момент, как она настраивается, задерживает загрузку следующей страницы на эту сумму.
class SupplierOnlineAccountView(CreateView):
form_class = SupplierOnlineAccountForm
template_name = 'standard_form.html'
success_url = '../contacting'
def form_valid(self, form):
username = form.cleaned_data.get('username')
password = form.cleaned_data.get('password')
api(username, password)
return super().form_valid(form)
Модель:
class EUser(models.Model):
username = models.CharField(max_length=255, null=True)
password = models.CharField(max_length=255, null=True)
address = models.ForeignKey(Address, null=True)
temp_user = models.CharField(max_length=255, null=True)
user = models.OneToOneField(settings.AUTH_USER_MODEL, null=True, default=None)
title = models.CharField(max_length=10)
first_name = models.CharField(max_length=255)
last_name = models.CharField(max_length=255)
Можете ли вы уточнить, что именно вы хотите сделать: какие данные у вас есть, где вы хотите его сохранить –
Несомненно, я пытаюсь сохранить возвращенные данные api в модели Euser. Модель ProviderOnlineAccountForm также сохраняет модель Euser. Api возвращает first_name, last_name и т. Д. И другие данные, которые будут сохранены в модели EUser. – Yunti
ОК, обновленный ответ. –