位置: 编程技术 - 正文

Flask的图形化管理界面搭建框架Flask-Admin的使用教程(flask框架数据可视化)

发布时间:2024-02-27

推荐整理分享Flask的图形化管理界面搭建框架Flask-Admin的使用教程(flask框架数据可视化),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:flask可视化,flask框架数据可视化,flask 图片管理,flask框架数据可视化,flask 图片管理,flask可视化,flask画图,flask框架数据可视化,内容如对您有帮助,希望把文章链接给更多的朋友!

Flask-Admin是Flask框架的一个扩展,用它能够快速创建Web管理界面,它实现了比如用户、文件的增删改查等常用的管理功能;如果对它的默认界面不喜欢,可以通过修改模板文件来定制;Flask-Admin把每一个菜单(超链接)看作一个view,注册后才能显示出来,view本身也有属性来控制其是否可见;因此,利用这个机制可以定制自己的模块化界面,比如让不同权限的用户登录后看到不一样的菜单;

项目地址: view在页面上表现为一个menu(超链接),menu name == 'name',缺省就用小写的class namecategory: 如果多个view有相同的category就全部放到一个dropdown里面(dropdown name=='category')endpoint: 假设endpoint='xxx',则可以用url_for(xxx.index),也能改变页面URL(/admin/xxx)url: 页面URL,优先级url > endpoint > class namestatic_folder: static目录的路径static_url_path: static目录的URLanotheradmin.html:

如果AnotherAdminView增加参数endpoint='xxx',那这里就可以写成url_for('xxx.text'),然后页面URL会由/admin/anotheradminview/变成/admin/xxx如果同时指定参数url='aaa',那页面URL会变成/admin/aaa,url优先级比endpoint高Admin

app: Flask Application Object;本例中可以不写admin.init_app(app),直接用admin = admin.Admin(app=app)是一样的name: Application name,缺省'Admin';会显示为main menu name('Home'左边的'Admin')和page titlesubdomain: &#;&#;&#;index_view: 'Home'那个menu对应的就叫index view,缺省AdminIndexViewbase_template: 基础模板,缺省admin/base.html,该模板在Flask-Admin的源码目录里面部分Admin代码如下:

从上面的代码可以看出init_app(app)和Admin(app=app)是一样的:将每个view注册为blueprint(Flask里的概念,可以简单理解为模块)记录所有view,以及所属的category和urlAdminIndexView

name: 缺省'Home'endpoint: 缺省'admin'url: 缺省'/admin'如果要封装出自己的view,可以参照AdminIndexView的写法:

base_template缺省是/admin/base.html,是页面的主要代码(基于bootstrap),它里面又import admin/layout.html;layout是一些宏,主要用于展开、显示menu;在模板中使用一些变量来取出之前注册view时保存的信息(如menu name和url等):# admin/layout.html (部分)

example/file这个样例能帮助我们快速搭建起文件管理界面,但我们的重点是学习使用ActionsMixin模块file.py:

FileAdmin是已经写好的的一个view,直接用即可:

base_path: 文件存放的相对路径base_url: 文件目录的URLFileAdmin中和ActionsMixin相关代码如下:class FileAdmin(BaseView, ActionsMixin):

name: action nametext: 可用于按钮名称confirmation: 弹框确认信息init_actions()把所有action的信息保存到ActionsMixin里面:

Flask的图形化管理界面搭建框架Flask-Admin的使用教程(flask框架数据可视化)

action_view()用于处理POST给/action/的请求,然后调用handle_action(),它再调用不同的action处理,最后返回当前页面:

ids是一个文件清单,作为参数传给action处理函数(参数items):

再分析页面代码,Files页面对应文件为admin/file/list.html,重点看With selected下拉菜单相关代码:{% import 'admin/actions.html' as actionslib with context %}

上面用到的三个宏在actions.html:

最终生成的页面(部分):

选择菜单后的处理方法在actions.js:

对比一下修改前后的表单:

总结一下,当我们点击下拉菜单中的菜单项(Delete,Edit),本地JavaScript代码会弹出确认框(假设有确认信息),然后提交一个表单给/admin/fileadmin/action/,请求处理函数action_view()根据表单类型再调用不同的action处理函数,最后返回一个页面。

Flask-Admin字段(列)格式化在某些情况下,我们需要对模型的某个属性进行格式化。比如,默认情况下,日期时间显示出来会比较长,这时可能需要只显示月和日,这时候,列格式化就派上用场了。

比如,如果你要显示双倍的价格,你可以这样做:

或者在Jinja2模板中使用宏:

回调函数模型:

正好和上面的v, c, m, p相对应。

Python的Flask站点中集成xhEditor文本编辑器的教程 xhEditor简介xhEditor是一个基于jQuery开发的简单迷你并且高效的可视化HTML编辑器,基于网络访问并且兼容IE6.0+,Firefox3.0+,Opera9.6+,Chrome1.0+,Safari3.+。xhEditor曾

详解Python的Flask框架中的signals信号机制 Flask提供了信号(Signals)功能,是一种消息分发机制。类似于钩子(Hooks)。使用信号功能可以降低程序的耦合,分解复杂的业务模型。例如在更新了产品数

Python的Django框架中消息通知的计数器实现教程 故事的开始:.count()假设你有一个NotificationModel类,保存的主要是所有的站内通知:classNotification(models.Model):"""一个简化过的Notification类,拥有三个字段

标签: flask框架数据可视化

本文链接地址:https://www.jiuchutong.com/biancheng/387617.html 转载请保留说明!

上一篇:Python的Flask框架中集成CKeditor富文本编辑器的教程(python flask框架 web服务器)

下一篇:Python的Flask站点中集成xhEditor文本编辑器的教程(python flask debug)

  • 为什么税务申报要补缴
  • 什么是小规模纳税人税率
  • 城建税的征税范围不包括农村对不对
  • 增值税结转和个体工商户的增值税缴纳分录如何做?
  • 为什么社保明细少一个月
  • 外币实收资本入账汇率
  • 报税成本费用怎么填
  • 出口货物退货需要退税吗
  • 分公司的税收机关在总公司还是分公司
  • 租出非专利技术的摊销额会导致营业利润减少吗
  • 投资资产包括哪些会计科目
  • 未分配利润转增股本要交税吗
  • 收到投资者购买股票的资金
  • 债券利息收入的增值税
  • 境外保险是什么意思
  • 房屋租赁合同样本书
  • 企业自建房是什么意思
  • 停车服务费的税率
  • 旅行社会议主持开场
  • 企业或员工获得的相关荣誉
  • 增值税减免的账务处理可以直接应交税费减免税款吗
  • 体现公司财务状况的报表
  • 应付账款对账的流程和技巧
  • 临时使用自建商品房是否需要缴纳房产税?
  • 为什么贷款利息变高了
  • 税务师入会与不入会冲突
  • Win10打开浏览器后自动弹出查找框
  • 事业单位个人借款未还违反什么规定
  • 企业年报系统怎么进
  • BIOS里没有USB-HDD选项
  • 登记会计账簿的注意事项
  • 计提坏账可以冲回吗
  • 最贵的耳机排名
  • 货物运输税费
  • 微信接口开发平台
  • 项目费用怎么入账
  • 成本降低率是什么意思
  • php 个人博客 源代码 简单
  • 房地产销售未完工产品转完工产品确认的销售收入
  • 建筑工地仓库管理流程
  • 电子发票可以作废吗?当月
  • 原始凭证分割单可以入账么
  • 交税交多了如何申请退税
  • 手机开个人劳务票怎么开
  • 服务业 费用可以暂估吗?
  • 每月材料进出库明细表
  • 合并报表抵消分录的基本原理
  • 计提生产产品的机器设备的折旧应借记制造费用科目
  • 公司把钱打到银行了,银行未打到我工资卡
  • 发票只能用一次吗
  • 发票报销流程和条件
  • 更换账簿需要注意哪些问题
  • sql判断字段是否包含数字和字母
  • sql2008数据库置疑
  • win8怎么彻底删除软件
  • linux中符号连接文件是什么意思
  • 苹果电脑支付在哪里设置
  • -f linux命令
  • php创建注释的方法
  • Win7系统可以装ie10浏览器么
  • win7笔记本电脑
  • opengl模块加载失败
  • opengl csdn
  • cocos2d开发的知名游戏
  • opengl中点画线算法
  • shell脚本介绍
  • AngularJS + Node.js + MongoDB开发的基于高德地图位置的通讯录
  • js的a标签
  • python 模块定义
  • jquery判断div是否显示
  • javascript对象的常用方法
  • linux两个版本
  • jquery提交
  • javascript获取复选框的值
  • python中的get方法
  • 云南增值税普通发票怎么开
  • 社保欠费税务催缴
  • 税务文书送达地点
  • 车船税属于地方固定收入吗
  • 广东省地税局网上办税
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号