2011-05-02 56 views
2

下面是相关片段为什么我的初始值没有设置为我的Django表单?

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()}) 

回答

3

缩写是关键:值(字段名/值)对。它应该是这样的,

else: 
    return render_to_response('activation/activation_signupcount.html', 
       {'form': SegmentForm(initial={'usersegment':'all'}), 
       'form2': DateSelectForm() 
       }) 
+0

确定这使得很多更有意义。我希望有人会说关键:在其他SO答案中的价值。感谢那。我想一个更好的程序员会从看大括号中找出它。 – super9 2011-05-02 06:04:37

+0

顺便说一句,有没有在forms.py任何地方我可以设置这个,所以我不必重复'初始= {'usersegment':'所有'}'我所有的意见?我尝试追加它像'usersegment = forms.ChoiceField(label =“”,widget = RadioSelect(),choices = usersegment,initial = {'usersegment':'all'})'但它不起作用。谢谢。 – super9 2011-05-02 06:08:45

+3

yes,usersegment = forms.ChoiceField(ini​​tial ='all'label =“”,widget = RadioSelect(),choices = usersegment) – 2011-05-02 06:20:02

相关问题