チェックボックスを正しく出す
Python/Django でWebアプリ開発を行っています。
その際に、ユーザーからの登録を受け付けるフォームを作っているのですが、データは更新されるもののHTML上の表示がおかしくなってしまいます。
入力者に戸惑いを与えてしまいますので、直したいと思っています。
環境
Python 3.7.6
Django 2.2.1
bootstrap4
今のコード
python
1(models.py) 2 3class MyModel(models.Model): 4 my_checkbox =models.BooleanField("チェックボックス", default=False)
python
1(views.py) 2 3class MyModelCreate(CreateView): 4 template_name = 'myapp/mymodel_create.html' 5 form_class = MyModelForm 6 success_url = reverse_lazy('myapp:index')
python
1(forms.py) 2 3class MyModelForm(forms.ModelForm): 4 class Meta: 5 model = MyModel 6 fields = ['my_checkbox',] 7
HTML
1(my_model_create.html) 2 3 <div class="form-check"> 4 <input type="checkbox" class="form-check-input" id="my_checkbox" value={{form.my_checkbox}}> 5 <label for="my_checkbox" class="col-form-label center">myチェックボックス</label> 6 </div> 7
今の結果
このようにチェックボックスの前に「>」が出てしまいます。
データは正しく更新されます。
他に試したこと
HTML側が悪いのだと思い、次のようにも試してみました。
value をnameに
HTML
1(my_model_create.html) 2 3 <div class="form-check"> 4 <input type="checkbox" class="form-check-input" id="my_checkbox" name={{form.my_checkbox}}> 5 <label for="my_checkbox" class="col-form-label center">myチェックボックス</label> 6 </div> 7
結果:valueの時と全く同じでした。
valueの中身をダブルクオーテーションで囲った
HTML
1(my_model_create.html) 2 3 <div class="form-check"> 4 <input type="checkbox" class="form-check-input" id="my_checkbox" value="{{form.my_checkbox}}"> 5 <label for="my_checkbox" class="col-form-label center">myチェックボックス</label> 6 </div> 7
どなたかご教授いただけますと幸いです。
よろしくお願いいたします。
あなたの回答
tips
プレビュー