1. ホーム
  2. django

[解決済み] django Forms のラジオボタン

2022-02-10 12:31:33

質問

ラジオボタンや選択ボタンを含むようにforms.pyファイルを設定するのに苦労しています。ドキュメントを見ましたが、正しいシンタックスを適用することができませんでした。

以下は、現在 forms.py --

from django import forms

class PictureForm(forms.Form):
    like = forms.ChoiceField(???)
    name = forms.CharField()
    email = forms.EmailField()
    message = forms.CharField() 

そして、私の views.py --

from app.forms import PictureForm

def index2(request):
    if request.method == 'POST':
        form = PictureForm(request.POST)
        if form.is_valid():
            cd = form.cleaned_data
            Picture.objects.create(like=cd['like'], name=cd['name'], email=cd['email'], message=cd['message'])
            return HttpResponseRedirect ('/thanks/')
    else:
        form = PictureForm()
    return render_to_response('index2.html', {'form':form},)

値1', '値2', '値3'のラジオボタンのセットを設定するにはどうすればよいですか? セレクトドロップダウンでこれを行うにはどうすればよいですか? ありがとうございます。

どのように解決するのですか?

フォームクラスを書くときに、フィールドのウィジェットと選択肢を設定することに注目します。

CHOICES=[('select1','select 1'),
         ('select2','select 2')]

like = forms.ChoiceField(choices=CHOICES, widget=forms.RadioSelect)

デフォルトのウィジェットはドロップダウン選択です。