Не удается безопасно передать визуализированное поле идентификатора в flask routes.py из WTFORM? - PullRequest
0 голосов
/ 19 июня 2020

Forms.py

class IndexForm(FlaskForm)

    indid = IntegerField('indid', id='indid') // this passes the index id to routes.py for processing,
                                          // but it leaves my form open for users to 
                                          //edit the primary key (not a good option)

     indid = IntegerField('indid', id='indid',render_kw={'disabled':''}) 

Отключение отображаемого идентификатора не позволяет пользователям изменять поле в форме, но также не позволяет WTFORM пересылать ключевое поле, которое отображается следующим как ('indid', '1510')

(Pdb) In:    request.form
Out:    ImmutableMultiDict([('indid', '1510'), ('code', 'EF.EFM.OVRL.XD22'), ('label', 'Economic Fitness 22'), ('description', 'Economic Fitness Metric'), ('topic', '__None'), ('subtopic1', '__None'), ...])

enter image description here

Jinja2 HTML

     <form class="form" method="post" action="/new_edit" enctype="multipart/form-data">

     {{ form.indid(class="form-control", value="` + indid + `") }}  <!-- preload is from JS-->
     <!-- <input name="id" type="text" class="form-control" disabled value=""> -->

     <button type="submit">Update Table</button>
     </form>

Это похоже на часто решаемую проблему, учитывая, как часто заполненные формы обновлений кодируются каждый день.

...