У меня есть класс в views.py, и когда я запускаю код, я получаю следующую ошибку:
объект не имеет атрибута 'get'
Кто-нибудь может помочь?
class currencyconvertGBP():
def __init__(self, *args, **kwargs):
login_id = '###############'
api_key = '####-####-####-####'
environment = currencycloud.Config.ENV_DEMO
client = currencycloud.Client(login_id, api_key, environment)
def GBPconvert(request):
if request.method == "POST":
form = Convert_Form_GBP(request.POST)
if form.is_valid():
sell_currency = form.cleaned_data.get('sell_currency')
buy_currency = form.cleaned_data.get('buy_currency')
amount = form.cleaned_data.get('amount')
form = Convert_Form_GBP()
form.save()
print(sell_currency)
print(buy_currency)
print(amount)
попробовать:
rate = client.rates.detailed (buy_currency = 'EUR', sell_currency = 'GBP', fixed_side = 'buy', сумма = сумма)
print («Чтобы купить {0} {1}, вам необходимо продать {2} {3}. Эта цитата будет действительна до {4}». формат (rate.client_buy_amount,
rate.client_buy_currency,
rate.client_sell_amount,
rate.client_sell_currency,
rate.settlement_cut_off_time))
except ApiError as e:
print("Detail Quote encountered an error: {0} (HTTP code {1})".format(e.code, e.status_code))
return render(request, 'main/conversion.html', {'content': [("To buy {0} {1} you will need to sell {2} {3}. This quote will be valid until {4}".format(rate.client_buy_amount, rate.client_buy_currency, rate.client_sell_amount, rate.client_sell_currency, rate.settlement_cut_off_time))]})
#return render(request, 'main/form.html', context={'currencyconvertform': form})
else:
form = Convert_Form_GBP()
return render(request, 'main/form.html', context={'currencyconvertform': form})
Шаблон URL:
путь ("account / currencyconvertGBP /", views.currencyconvertGBP, name = "currencyconvertGBP"),
После того, как ответ API был возвращен, я подумал, что могу получить объекты из первого класса и повторно передать API, используя второй класс:
класс currencyconvertedGBP (currencyconvertGBP):
def init (self, * args, ** kwargs):
login_id = '############'
api_key = '##############'
environment = currencycloud.Config.ENV_DEMO
client = currencycloud.Client (login_id, api_key, environment)
def GBPconverted(request):
try:
conversion = client.conversions.create(buy_currency='EUR', sell_currency='GBP', amount=amount, fixed_side='buy', reason='Top up Euros balance', term_agreement='true')
print("Conversion Id {0} for {1} {2} created successfully".format(conversion.id, conversion.client_buy_amount, conversion.buy_currency))
except ApiError as e:
print("Conversion encountered an error: {0} (HTTP code {1})".format(e.code, e.status_code))
return redirect("/convert_success")