| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Python知识库 -> 基于Flask_admin库,编写个人工作平台详述。 -> 正文阅读 |
|
[Python知识库]基于Flask_admin库,编写个人工作平台详述。 |
一、个人工作平台展示二、搭建过程1、运行Flask-admin库样例custom-layout下载代码:https://github.com/flask-admin/flask-admin.git 选择样例工程:flask-admin\examples\custom-layout 运行成功后效果如下图: 2、修改Home主页内容Home内容是在templates/admin/index.html中定义的,可按自己效果修改对应,如下
解释: (1)extends 'admin/master.html' 这里可能会疑问,为什么在admin目录下,并没有master.html文件。 这是因为master.html是定义在flask-admin库中,当前只是引用而已。如果你想修改master.html内容,可至如下路径进行修改:python安装目录\site-packages\flask_admin\templates\bootstrap3\admin\master.html 3、修改User/Page界面内容由于原app.py脚本里自带数据库生成命令,执行成功后会在以下路径生成sqlite数据库(custom-layout\instance\sample_db.sqlite)。因此可以直接修改已有数据库表结构即可。 本人使用的数据库工具是:Navicat (1)修改数据表结构 使用数据库工具重新设计表结构会比用python代码实现更方便 (2)修改数据表对应代码(增加数据库类和增加视图) 修改后的视图功能有:字段必填、字段设置日历图、字段默认值设置、富文本设置、下拉框设置、支持排序、支持类型搜索。对应效果如下图 对应代码如下:
下面分别解释下各自小功能点的实现。 A、字段必填:关键是在定义字段时添加nullable=False
B、字段设置日历图:将字段类型定义为db.DateTime,系统会自动设置成日历图格式
C、设置默认值:关键添加default=XXXX
D、下拉框设置:在展示视图代码中添加form_extra_fields类。
E、富文本框设置 这里有3处要修改:修改app.py和edit.html 、create.html (1)在app.py中重定义content字段的类型
(2)在edit.html和create.html的最后添加以下代码
F、搜索功能设置
G、修改视图名称 添加视图时默认是用数据库表名,可以通过设置name=xxx来修改视图名称
4、超链接视图添加这里使用的是Flask-admin库自带的MenuLink方法,但是MenuLink方法生成的超链接点击后,无法生成新页面进行跳转,而是基于本界面跳转到新url。
因此,如果是为了实现跳转到新界面的效果,需要自定义视图。详见第5节。 5、自定义视图app.py脚本添加视图定义代码:
mylink.html代码如下:
这里补充说明下,MyView类中为什么要继承父类BaseView的url、name、category、endpoint参数 url:这个不用解释,是我要打开的新网页网址 name:为了方便在界面上显示链接名称 category:是为了后续的目录管理,详见第6节 endpoint:是为了管理区分不同子页面,若endpoint='1',则对应网址是:http://127.0.0.1:5000/admin/1/ 6、目录管理示例代码:
从这里可以看出,当category相同时,flask-admin框架会自动将所有视图进行合并到同一目录下。 如果想要添加子目录,
7、文件管理示例代码:
这里可以自定义path路径,从而实现文件管理 三、总结至此,当前所有功能已经能满足本人平时工作管理的要求了,因此没有再深入flask-admin其他特性。 如果你有兴趣可以继续研究使用更多功能,比如用户登录管理、内容导出、与其他数据库配合使用等,网上也有很多相关大神总结可以参考。 四、FAQ1、执行报错 Working outside of application context.
2、自定义视图定义时报错:Attempted to instantiate admin view MyView without default view
原先在自定义MyView视图时,是想直接继承父类BaseView,但是在运行时报错说defalut view未实例。后面查看官方指导,发现在使用expose装饰器时,是基于根目录,即
当前暂未清楚为什么不能基于/link目录,猜测flask-admin的Http目录是http://127.0.0.1:5000/admin/,如果变成http://127.0.0.1:5000/link则需要自己写个默认视图。 3、打开新页面不生效原先这里是想打开百度网站的,并且{{myurl}}的值也的确是www.baidu.com
但实际效果时,并没有弹出新的界面。 最后发现这里代码有误
应该是:
五、参考1、Flask-admin官方指导:https://flask-admin.readthedocs.io/en/v1.6.0/ 2、Flask-admin中文指导:http://flask123.sinaapp.com/article/57/ 3、在 Flask-Admin 中集成富文本编辑器 CKEditor:CSDN搜索即可 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 | -2024/12/26 3:02:01- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |
数据统计 |