加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python – 在flask-admin中的ModelView中为表单自定义小部件

发布时间:2020-12-20 11:43:55 所属栏目:Python 来源:网络整理
导读:我有一个模特新闻: 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 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.content的输入类型=’文本’小部件.我怎样才能把textarea放在那里呢?

解决方法

在代码中,db.String列是 mapped到StringFields,db.Text列是 mapped到TextAreaFields,它们分别向用户显示 text inputs和 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'

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读