Django初心者です。
Djangoのforms.ChoiceFieldから値をviewsで取得したいのですがどのように記述すれば良いですか?
回答いただければ幸いです。よろしくお願いいたします。
以下form.pyです。
form.py
1from django import forms 2 3# DATA_CHOICES =(('category':'カテゴリー'),('numeric':'数値')) 4 5DATA_CHOICES = ( 6 ('category', 'カテゴリー型'), 7 ('num', '数値型') 8) 9 10class UploadFileForm(forms.Form): 11 project = forms.CharField(label='プロジェクト') 12 file = forms.FileField(label='解析したいファイル') 13 column = forms.CharField(label='解析したい列名',max_length=50) 14 data_type = forms.ChoiceField( 15 label='データのタイプ', 16 widget=forms.RadioSelect, 17 choices=DATA_CHOICES, 18 required=True, 19 20 ) 21
以下views.pyです。forms.ChoiceFieldの値によって異なったページへの遷移をしたいです。以下のコードだとうまく動かず、forms.ChoiceFieldから値の取得方法が間違っていると思われます。
views.py
1def file_upload(request): 2 if request.method == 'POST': 3 form = UploadFileForm(request.POST, request.FILES) 4 if form.is_valid(): 5 handle_uploaded_datatype(request.POST['data_type']) 6 7 else: 8 form = UploadFileForm() 9 return render(request, 'file_upload/upload.html', {'form': form}) 10 11 12 13def handle_uploaded_datatype(data_type): 14 if data_type == 'category': 15 return HttpResponseRedirect('/success_category/url/') 16 else: 17 return HttpResponseRedirect('/success_numeric/url/') 18
回答1件
あなたの回答
tips
プレビュー