Задать вопрос
@MercRank

Как правильно реализовать форму в Django?

Пишу в кач-ве тренировки простенький конвертер валют на Django. Суть работы:
1. Пользователь вводит сумму обмена
2. Пользователь выбирает из выпадающего списка валют ту, которую хочет поменять
3. Пользователь выбирает из выпадающего списка валют ту, на которую хочет поменять

Хочу реализовать ввод этой информации через формы в Джанго. С полем суммы обмена все понятно.
Но в поле где пользователь выбирает валюты из выпадающего списка. Само поле будет класса forms.ChoiceField, который требует указания возможных вариантов выбора заранее. Но я хочу подгружать список валют по API с какого-нибудь сервиса. Таким образом я не могу в описании формы заранее задать список возможных валют, т.к. хочу чтобы он подгружался при открытии страницы по АРI.

Как правильно описать поле form.ChoiceField, если список валют заранее неизвестен?

В прикрепленном скриншоте попробовал через метод __init__ для класса формы, но так нужные мне поля не отображаются на странице.
Скриншот кода удалён модератором.
  • Вопрос задан
  • 156 просмотров
Подписаться 1 Простой 2 комментария
Решения вопроса 1
sergey-gornostaev
@sergey-gornostaev Куратор тега Django
Седой и строгий
В choices можно передать функцию, возвращающую последовательность кортежей.

P.S. Вариант со скриншота не работает потому, что поля формы инициализируются дескрипторами. Если мне память не изменяет, 37-я глава 4-го издания "Изучаем Python" Лутца.
P.P.S. Нельзя выкладывать код картинками, это нарушение правил.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы