如何从form_widget_args

时间:2019-07-31 18:43:10

标签: python flask flask-admin

我有一个flask-admin表单,它由用于问题,答案和标签的表单控件(文本区域)组成。

我注意到form_widget_argsanswer渲染为<textarea class="form-control" id="answer" name="answer" required="" rows="5" style="display: none;"></textarea>。我不确定该控件如何添加必需和style = display:none属性。

查看了此特定的控制台消息,似乎归因于必需的属性。尝试删除必需的属性,但是小部件不断使用它进行渲染。还看到有人建议添加novalidate,但这似乎不是最佳方法。也许我可以使用form_overrides

Views.py

class FAQAdmin(ModelView):
    form_create_rules = (rules.HTML("<h3>Add an FAQ.</h3><br>"),
                         'question', 'answer', 'tags',
                         rules.HTML(
                             """
                             <button class="btn btn-default"
                                type="button"
                                data-toggle="modal"
                                data-target="#addTagModal"
                                style="float:right">
                               Add New Tag
                             </button>
                             <br>
                             """
                         ))
    form_edit_rules = list(form_create_rules)
    form_edit_rules[0] = rules.HTML("<h3>Update an FAQ.</h3><br>")
    form_edit_rules = tuple(form_edit_rules)
    form_overrides = dict(question=TextAreaField,
                          answer=TextAreaField)
    form_widget_args = {
        'question': {
            'class': 'form-control col-md-5',
            'rows': 3
        },
        'answer': {
            'rows': 5
        }
    }
    create_template = "admin/create_faq.html"
    edit_template = "admin/edit_faq.html"
    list_template = "admin/list_faq.html"

提交表单后,控制台将显示“名称为“ answer”的无效表单控件不可聚焦”,并且表单也不会提交。

0 个答案:

没有答案