位置: 编程技术 - 正文
推荐整理分享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里面:
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服务器)
友情链接: 武汉网站建设