Пишу в кач-ве тренировки простенький конвертер валют на Django. Суть работы:
1. Пользователь вводит сумму обмена
2. Пользователь выбирает из выпадающего списка валют ту, которую хочет поменять
3. Пользователь выбирает из выпадающего списка валют ту, на которую хочет поменять
Хочу реализовать ввод этой информации через формы в Джанго. С полем суммы обмена все понятно.
Но в поле где пользователь выбирает валюты из выпадающего списка. Само поле будет класса forms.ChoiceField, который требует указания возможных вариантов выбора заранее. Но я хочу подгружать список валют по API с какого-нибудь сервиса. Таким образом я не могу в описании формы заранее задать список возможных валют, т.к. хочу чтобы он подгружался при открытии страницы по АРI.
Как правильно описать поле form.ChoiceField, если список валют заранее неизвестен?
В прикрепленном скриншоте попробовал через метод __init__ для класса формы, но так нужные мне поля не отображаются на странице.
Скриншот кода удалён модератором.
В choices можно передать функцию, возвращающую последовательность кортежей.
P.S. Вариант со скриншота не работает потому, что поля формы инициализируются дескрипторами. Если мне память не изменяет, 37-я глава 4-го издания "Изучаем Python" Лутца.
P.P.S. Нельзя выкладывать код картинками, это нарушение правил.
MercRank, если эта функция больше нигде не используется, то её можно сделать приватным методом формы. А учебник лучше прочитать полностью, глава про метаклассы само по себе сложная и часто ссылается на предыдущие главы.