繁体   English   中英

在flask-admin中的ModelView中自定义窗体的窗口小部件

[英]Customize widget for a form in ModelView in flask-admin

我有一个模特News

class News(db.Model):
    __tablename__ = 'news'
    id = db.Column(db.Integer, primary_key=True)
    content = db.Column(db.String)
    active_from = db.Column(db.DateTime)
    active_until = db.Column(db.DateTime)

它被集成到flask-admin如下所示:

class MyModelView(ModelView):
    def is_accessible(self):
        return current_user.usergroup.name == 'admin'

admin.add_view(MyModelView(News, db.session))

但是当我打开我的管理页面时,我看到了news.contentinput type='text'小部件。 我怎样才能把textarea放在那里呢?

在代码中, db.String映射到StringFields, db.Text映射到TextAreaFields,它们分别向用户显示文本输入textareas

要覆盖此行为,您可以设置form_overrides字段:

from wtforms.fields import TextAreaField

class MyModelView(ModelView):
    form_overrides = dict(string=TextAreaField)
    def is_accessible(self):
        return current_user.usergroup.name == 'admin'

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM