Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » Django
  • » ChoiceField, отключить некоторые варианты выбора [RSS Feed]

#1 Янв. 23, 2012 13:42:08

mks
От:
Зарегистрирован: 2009-08-07
Сообщения: 80
Репутация: +  5  -
Профиль   Отправить e-mail  

ChoiceField, отключить некоторые варианты выбора

День добрый.
Есть такая форма:

CH=(
('1','категория 1'),
('2','выбор 1'),
('3','выбор 2'),
('4','категория 2'),
('5','выбор 1'),
('6','выбор 2'),
)
class TestForm(forms.Form):
pole1 = forms.ChoiceField(label=u'поле 1', choices=CH)
В шаблон она выводится стандартно:
        
<form action="" method="POST">
<table>
{{ form.as_table }}
</table>
</form>
в браузере получаю:

<form action="" method="POST">
<table>
<tr>
<th>
<label for="id_pole1">поле 1:</label>
</th>
<td>
<select name="pole1" id="id_pole1">
<option value="1">категория 1</option>
<option value="2">выбор 1</option>
<option value="3">выбор 2</option>
<option value="4">категория 2</option>
<option value="5">выбор 1</option>
<option value="6">выбор 2</option>
</select>
</td>
</tr>
</table>
</form>
Я хочу сделать так чтобы при генерации HTML кода формы, “категория 1” и “категория 2” были с тегом disabled:
....
<option value="1" disabled>категория 1</option>
<option value="2">выбор 1</option>
<option value="3">выбор 2</option>
<option value="4" disabled>категория 2</option>
<option value="5">выбор 1</option>
<option value="6">выбор 2</option>
....
Подскажите каким образом это можно сделать путём наименьшего сопротивления со стороны django ? :)
Заранее спасибо.



Офлайн

#2 Янв. 24, 2012 03:45:27

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

ChoiceField, отключить некоторые варианты выбора

mks
День добрый.
Есть такая форма:
CH=(
('1','категория 1'),
('2','выбор 1'),
('3','выбор 2'),
('4','категория 2'),
('5','выбор 1'),
('6','выбор 2'),
)
class TestForm(forms.Form):
pole1 = forms.ChoiceField(label=u'поле 1', choices=CH)
В шаблон она выводится стандартно:
        
<form action="" method="POST">
<table>
{{ form.as_table }}
</table>
</form>
в браузере получаю:

<form action="" method="POST">
<table>
<tr>
<th>
<label for="id_pole1">поле 1:</label>
</th>
<td>
<select name="pole1" id="id_pole1">
<option value="1">категория 1</option>
<option value="2">выбор 1</option>
<option value="3">выбор 2</option>
<option value="4">категория 2</option>
<option value="5">выбор 1</option>
<option value="6">выбор 2</option>
</select>
</td>
</tr>
</table>
</form>
Я хочу сделать так чтобы при генерации HTML кода формы, “категория 1” и “категория 2” были с тегом disabled:
....
<option value="1" disabled>категория 1</option>
<option value="2">выбор 1</option>
<option value="3">выбор 2</option>
<option value="4" disabled>категория 2</option>
<option value="5">выбор 1</option>
<option value="6">выбор 2</option>
....
Подскажите каким образом это можно сделать путём наименьшего сопротивления со стороны django ? :)
Заранее спасибо.
Почему бы не задействовать JavaScript?



Офлайн

#3 Янв. 24, 2012 09:24:51

mks
От:
Зарегистрирован: 2009-08-07
Сообщения: 80
Репутация: +  5  -
Профиль   Отправить e-mail  

ChoiceField, отключить некоторые варианты выбора

FishHook
Почему бы не задействовать JavaScript?
В принципе тоже вариант. Я думал может я чего то не нашёл в доках и есть какой то стандартный способ. Но похоже в данном случае надо свой widget писать для такого отображения поля.



Офлайн

  • Начало
  • » Django
  • » ChoiceField, отключить некоторые варианты выбора[RSS Feed]

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version