Help us understand the problem. What is going on with this article?

Django form ラジオボタン 選択肢動的に変更方法がわからない。→解決

 会社の受付フォームを趣味でごりごり作成しております。POSTの時にラジオボタンの選択肢を動的に変更したい。
 具体的には「form.py」→「開催日選択Form」の「data」を「views.py」→「状況View」→「受験者リストView」→「def get(self, request):」の「開催日_年」に変更したい(data=開催日_年)。ですが、わかりません。どなたか様かご教授よろしくお願いします。
→解決しました。「form」に引数が追加することができ、「form」内で変更することができました。
参考URL:https://note.crohaco.net/2015/django-form/

veiws.py
def post(self, request):        
        試験日 = request.POST.get('day')    #試験日        
        self.params['exam'] = 試験日Form(日選択=試験日)
                                    #↑日選択が引数として追加      
    )
form.py
class 試験日Form(forms.Form):
    day = forms.ChoiceField(choices=[],required=False,widget=forms.RadioSelect)
    #↑「choices=[]」は下のコードの中の「self.fields['day'].choices」で生成する。
  
       ##---コード省略---##

    def __init__(self,日選択, **kwargs):
        super(試験日Form, self).__init__(**kwargs)
   #↑「def__init__.... super(....  」はよくわりませんww
     ##---コード省略---##
         self.fields['day'].choices=開催日.objects.filter(開催2日目__gte=start,開催2日目__lte=end).order_by('開催2日目').values_list('id','開催2日目')  

         ##---コード省略---##
form.py
class 開催日選択Form(forms.Form):
    data = 開催日.objects.all().values_list('id','開催2日目')
    evc = forms.ChoiceField(
       label='開催日', choices=data,required=False,
       widget=forms.RadioSelect       
    )
views.py
class 受験者リストView(TemplateView):
    def __init__(self):
        self.params = {
            'eventdate' : 開催日選択Form,                                  
        }
    def post(self, request):
        今年=datetime.date.today().year
        start=datetime.datetime(今年, 1, 1,)
        end=datetime.datetime(今年+1, 3, 31,)
        開催日_=開催日.objects.filter(開催2日目__gte=start,開催2日目__lte=end).values_list('id','開催2日目')

        開催日選択Form.data=開催日_年    
    #↑ここで「form.py」の「開催日選択Form」の「data」の値を
       #「data=開催日_年」に変更したい。
       #これではうまくいきませんでした。
Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away