в моем приложении Django У меня есть форма с ChoiceField, которая обычно позволяет выбирать между диапазоном целочисленных значений.Django: предоставить список выбора флажку из функции просмотра
class FormNumber(forms.Form):
list=[]
for i in range(1, 11):
list.append((i,i))
number=forms.ChoiceField(choices=list, initial=1)
Теперь мне нужно переопределить список по Choices умолчанию из метода представления в некоторых случаях, используя меньший диапазон, но при попытке сделать это таким образом
n=10-len(request.session["items"])
if n>0:
list=[]
for i in range(1, n+1):
list.append((i,i))
form=FormNumber(choices={'number':list}, initial={'number':1})
я получаю TypeError - __ init __() получил неожиданный аргумент ключевого слова «выборы». Я также попытался удалить параметры из класса формы, но получаю тот же результат.
Есть ли способ инициализировать ChoiceField с новым списком выбора из представления способом, аналогичным приведенному выше? Заранее спасибо :)
Спасибо за ваш ответ, я пытаюсь решить таким образом, давайте посмотреть, что будет – Alex
Это сработало, спасибо снова Никласу! – Alex