#python #django #django-forms
#python #django #django-forms
Вопрос:
Вот соответствующие фрагменты
forms.py
usersegment = [['non-paying','Non-paying (Coming soon)'],['paying','Paying (Coming soon)'], ['all', 'All']]
class SegmentForm(forms.Form):
usersegment = forms.ChoiceField(label="", widget=RadioSelect(), choices=usersegment)
views.py
if request.method == 'GET' and 'datestart' in request.GET:
return render_to_response('activation/activation_signupcount.html',
{ 'datestart': request.GET['datestart'],
'dateend': request.GET['dateend'],
'usersegment': request.GET['usersegment'],
'form': SegmentForm(request.GET),
'form2': DateSelectForm(request.GET) })
else:
return render_to_response('activation/activation_signupcount.html',
{'form': SegmentForm(initial={'all':'All'}), 'form2': DateSelectForm()})
Ответ №1:
инициалы — это пара ключ: значение (имя_поля / значение). это должно выглядеть следующим образом,
else:
return render_to_response('activation/activation_signupcount.html',
{'form': SegmentForm(initial={'usersegment':'all'}),
'form2': DateSelectForm()
})
Комментарии:
1. хорошо, в этом гораздо больше смысла. Я бы хотел, чтобы кто-нибудь сказал key: value в других ответах SO. Спасибо за это. Я думаю, что более опытный программист понял бы это, взглянув на фигурные скобки.
2. кстати, есть ли где-нибудь на forms.py Я могу установить это, чтобы мне не приходилось повторять
initial={'usersegment':'all'}
для всех моих просмотров? Я попытался добавить это следующим образомusersegment = forms.ChoiceField(label="", widget=RadioSelect(), choices=usersegment, initial={'usersegment':'all'})
, но это не сработало. Спасибо.3. да, usersegment = формы. Поле выбора (initial=’all’ label=»», widget=RadioSelect(), choices=пользовательский сегмент)