-1

何らかの理由で、以前のようにフォームのフィールドにデータを入力できません。関連するビットは次のとおりです。

ビュー.py

def selectEvent(request, user=None):
    if not user:
        userID = request.user.id

    if request.method == 'POST':
        qform = eventForm(request.POST, user=userID)
        if qform.is_valid():
            qryData = qform.cleaned_data
            event = qryData['event']
            qurl = '/showGG/getWedGuest/%s' % (event)
            return HttpResponseRedirect(qurl)
    else:
        qform = eventForm(user=userID)

    return render(request, 'showGG/getEvent.html', {'form': qform})

フォーム.py

class eventForm(forms.Form):

    def __init__(self, *args, **kwargs):
        user=kwargs.pop('user')
        super(eventForm, self).__init__(*args, **kwargs)
        elist = [(e,e.name) for e in Event.objects.filter(organizer_id__exact=user)]
        print 'eventForm: elist=',elist
        event = forms.ChoiceField(choices=elist)

複雑なeventForm.__init__()変数が必要ですが、印刷行は、期待するリストを生成していることを示しています。

eventForm: elist= [(<Event: cd2 - 2013-08-01 00:17:39+00:00>, u'cd2')]

しかし、返さqformれた を取得するとviews.selectEvent、その変数fieldsbase_fields変数の両方が空の辞書ですか? なぜだろう?

4

1 に答える 1