flask框架,如何设置页面中字段(field)和列(column)的宽度,和横纵显示方式?

火狐截图_2020-02-25T15-29-42.842Z.png
如图,假如我想让“性别”横向显示,“支援保障设备原理分数”显示为三列,应该如何设置? 就是类似Excel中,那种字符宽度,字符排列方向,的设置。

# 导入库、配置数据库过程省略
app = Flask(__name__)
babel = Babel(app)
db = SQLAlchemy(app)

class TestView(ModelView):
    # column_list = ('sex','name','post')
    # form_widget_args = {'sex':{'disabled':True}}
    can_view_details = True
    # 指定某个列可以搜索
    column_searchable_list = ['name']
    column_labels = {'sex': u'性别', 'name': u'姓名', 'post': u'岗位', 'item1_score': u'支援保障设备原理分数',
                     'item2_score': u'结构及动力装置原理分数', 'item3_score': u'仪器仪表分数', 'item4_score': u'综合测试分数',
                     'item5_score': u'设备使用维护理论分数', 'item6_score': u'电源设备原理分数', 'item7_score': u'车间操作规则分数',
                     'item1_able': u'是否需要考核', 'item2_able': u'是否需要考核', 'item3_able': u'是否需要考核', 'item4_able': u'是否需要考核',
                     'item5_able': u'是否需要考核', 'item6_able': u'是否需要考核', 'item7_able': u'是否需要考核',
                     'item1_data': u'成绩录入时间', 'item2_data': u'成绩录入时间','item3_data': u'成绩录入时间',
                     'item4_data': u'成绩录入时间', 'item5_data': u'成绩录入时间','item6_data': u'成绩录入时间',
                     'item7_data': u'成绩录入时间'
                     }

class IwantTest(db.Model):
    __tablename__ = 'personal score'
    id = db.Column(db.Integer, primary_key=True)
    sex = db.Column(db.String(4), default=u'男')
    name = db.Column(db.String(30), nullable=False)
    post = db.Column(db.String(80), default=u'编余')

    item1_able = db.Column(db.Boolean, default=0)  # 1代表该岗位需要
    item1_score = db.Column(db.Integer, default=-1)
    item1_data = db.Column(db.DateTime, default=datetime.now)

    item2_able = db.Column(db.Boolean, default=0)  # 1代表该岗位需要
    item2_score = db.Column(db.Integer, default=-1)
    item2_data = db.Column(db.DateTime, default=datetime.now)

    item3_able = db.Column(db.Boolean, default=0)  # 1代表该岗位需要
    item3_score = db.Column(db.Integer, default=-1)
    item3_data = db.Column(db.DateTime, default=datetime.now)

    item4_able = db.Column(db.Boolean, default=0)  # 1代表该岗位需要
    item4_score = db.Column(db.Integer, default=-1)
    item4_data = db.Column(db.DateTime, default=datetime.now)

    item5_able = db.Column(db.Boolean, default=0)  # 1代表该岗位需要
    item5_score = db.Column(db.Integer, default=-1)
    item5_data = db.Column(db.DateTime, default=datetime.now)

    item6_able = db.Column(db.Boolean, default=0)  # 1代表该岗位需要
    item6_score = db.Column(db.Integer, default=-1)
    item6_data = db.Column(db.DateTime, default=datetime.now)

    item7_able = db.Column(db.Boolean, default=0)  # 1代表该岗位需要
    item7_score = db.Column(db.Integer, default=-1)
    item7_data = db.Column(db.DateTime, default=datetime.now)
    
admin = Admin(app, name=u'训练数据库')
admin.add_view(TestView(IwantTest, db.session, name=u'测试'))

if __name__ == '__main__':
    app.run(debug=True)
阅读 4.6k
1 个回答
新手上路,请多包涵

这个是css的问题了,你可以去学下css的布局。先把框画完,然后数据填进去就好了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题