日付項目を更新するときに、更新前の値が表示されない
Python/Django でWebアプリ開発を行っています。
その際に、ユーザーからの日付を入力してもらう項目を設けています。
登録は普通に出来るのですが、更新時に画面を開くと、更新前の値が表示されず、常に空白になっています。
これだと再度ユーザーが値を入れなければならなくなるので困っています。
環境
Python 3.7.6
Django 2.2.1
bootstrap4
デザインはMaterial Bootstrapのフレームワークを使っています。
MaterialBootstrap
当該画面で使っているdatepickerはこちらです。
Datepicker
今のコード
python
1(models.py) 2 3class MyModel(models.Model): 4 start = models.DateField("開始日", blank=False)
python
1(views.py) 2 3class MyModelUpdate(UpdateView): 4 template_name = 'myapp/my_model_update.html' 5 model = MyModel 6 form_class = MyModelForm 7 8 def get_success_url(self): 9 messages.success(self.request, 'アップデートしました!') 10 return resolve_url('myapp:index')
python
1(forms.py) 2 3class MyModelForm(forms.ModelForm): 4 class Meta: 5 model = MyModel 6 fields = ['start',] 7
HTML
1(my_model_update.html) 2 3<script> 4 $(document).ready(function() { 5 $('.datepicker').pickadate({ 6 format: 'yyyy-mm-dd', 7 formatSubmit: 'yyyy-mm-dd', 8 }); 9 }); 10</script> 11 12 13 <div class="col-sm-4"> 14 <label for="text3a" class="col-form-label center">開始</label> 15 <input type="date" name="start" class="form-control datepicker" value={{form.start}}> 16 </div> 17
今の結果
更新画面を開いた状態ですが、このように空白になってしまいます。
実際には更新前の値を持っているので、その値を表示したいです。
空白になってしまうので、このまま更新しようとするとエラーになります。(modelでblank=Falseにしているため)
なお、<script>はうまく動いており、下記のようにモーダルが出て、日付を選択できるようになっています。
(入力欄の後に「>」が出てしまいますが、これは別の質問をあげています。)
データは正しく更新されています。
どなたかご教授いただけますと幸いです。
よろしくお願いいたします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/04/08 21:20 編集