flask-admin众博客概述
最近用flask admin(https://flask-admin.readthedocs.org/en/latest/)构建自动化发布平台,发现flask admin蛮强大的,基本上不需要自己写太多HTML相关的逻辑就可以了。
flask admin其实可以理解为是flask的一个扩展,flask可以理解为提供了一个WSGI微服务框架,真正强大的并不是flask,而是flask提供的这种可扩展性,使得很多第三方扩展能够接入进来。
真正构建中小型WEB,其实使用flask admin扩展更方便,flask admin在flask的基础上抽象了视图层、模型层以及提供了比较完善、方便的数据库操作。使得构建WEB非常方便。
对于想要自定义视图也只需要继承它们已经的模板就可以了,非常简单方便。所以对于我这种一直写后端的,使用Flask admin来写WEB也是游刃有余。
不过由于这块的中文文档不是很多,能够找到的中文相关的文档都是非常简单,如果只是做做demo的话看看官方文档再找几个简单的中文例子看看就OK了。
但是如果真正在生产实用的话,还是有很多需要留意的地方,另外就是很难窥视flask admin的强大。
不过还好,这些场景我都曾遇到过,并很完美的解决掉了。后面会分多个章节依次介绍flask admin使用中的一些小窍门、一些注意的地方以及一些意向不到的惊喜。
基本上使用了这些就可以完全满足一个中小型WEB的所有需求。
flask-admin众博客概述的更多相关文章
- 用flask开发个人博客(4)—— flask中4种全局变量
https://blog.csdn.net/hyman_c/article/details/53512109 一 current_app current_app代表当前的flask程序实例,使用时需 ...
- Flask搭建个人博客网站(1)—项目规划--李渣渣(lizaza.cn)
Flask搭建个人博客网站(1)—项目规划--李渣渣(lizaza.cn) 发布时间:2020-05-2413次浏览 前言 现在市面上又许多比较成熟的博客平台,例如:CSDN,博客园,新浪博客等!对于 ...
- flask实战-个人博客-虚拟环境、项目结构
个人博客 博客是典型的CMS(Content Management system,内容管理系统),通常由两部分组成:一部分是博客前台,用来展示开放给所有用户的博客内容:另一部分是博客后台,这部分内容仅 ...
- flask实战-个人博客-使用蓝本模块化程序
使用蓝本模块化程序 实例化flask提供的blueprint类就创建一个蓝本实例.像程序实例一样,我们可以为蓝本实例注册路由.错误处理函数.上下文处理函数,请求处理函数,甚至是单独的静态文件文件夹和模 ...
- flask实战-个人博客-编写博客前台
编写博客前台 博客前台需要开放给所有用户,这里包括显示文章列表.博客信息.文章内容和评论等功能功能. 分页显示文章列表 为了在主页显示文章列表,我们要先在渲染主页模板的index视图的数据库中获取所有 ...
- flask实战-个人博客-模板 --
模板 personalBlog采用典型的博客布局,左侧三分之二为主体,显示文章列表.正文:右侧三分之一为边栏,显示分为类列表.社交链接等.现在的工作是将HTML文件加工为模板,并创建对应的表单类,在模 ...
- flask实战-个人博客-数据库-生成虚拟数据 --
3.生成虚拟数据 为了方便编写程序前台和后台功能,我们在创建数据库模型后就编写生成虚拟数据的函数. 1)管理员 用于生成虚拟管理员信息的fake_admin()函数如下所示: personalBlog ...
- Flask 学习 十 博客文章
提交和显示博客文章 app/models.py 文章模型 class Post(db.Model): __tablename__ = 'posts' id = db.Column(db.Integer ...
- flask实战-个人博客-电子邮件支持
电子邮件支持 因为博客要支持评论,所以我们需要在文章有了新评论后发邮件通知管理员.而且,当管理员回复了读者的评论后,也需要发送邮件提醒读者. 为了方便读者使用示例程序,personalBlog中仍然使 ...
随机推荐
- Mysql的一些常用方法
公司近期为新来同事做了一次培训,我也偷偷溜进去观摩了一下,内容虽然很基础,但是还是挺有用的.这里做了一下资料汇总: 2种存储引擎 InnoDB:支持事务处理.外键.行级锁,游戏业务库使用 MyISAM ...
- python中的浅拷贝和深拷贝
1.赋值语句 a = 'abc' b = a print id(a) print id(b) # id(a):29283464 # id(b):29283464 通过简单的复制,我们可以看到,a b其 ...
- 解析JSON字符串
import java.util.ArrayList; import java.util.List; import org.json.JSONArray; import org.json.JSONOb ...
- html显示时间
<html> <head> <script type="text/javascript"> function time() { var time ...
- prop和attr的区别
在高版本的jquery引入prop方法后,什么时候该用prop?什么时候用attr?它们两个之间有什么区别?这些问题就出现了. 对于HTML元素本身就带有的固有属性,在处理时,使用prop方法. 对于 ...
- Tomcat并发数优化,修改service.xml性能调优 增加最大并发连接数
可以在控制台的启动信息里看见,默认状态下没有被打开nio配置,启动时的信息,如下: 2010-2-1 12:59:40 org.apache.coyote.http11.Http11Protocol ...
- group_concat函数使用
t1表 语句: select type,group_concat(name) from t1 group by type 结果
- uml的四种关系
UML的四种常用关系: 泛化关系.关联关系.实现关系.依赖关系 其中泛化关系是指父类与子类之间的继承关系: 实现关系是指接口与实现类之间的关系: 依赖关系和关联关系的区别如下: 只要存在对象间的交互, ...
- 9.3 js基础总结3
2.后增量/后减量运算符 ++,-- var i = 10; var a = i++; // i = i + 1; alert(a); 3.比较运算符(>,<,>=,<=,== ...
- redis 扩展 安装 和 memcached 安装
在Windows下为PHP5.6安装redis扩展和memcached扩展 一.php安装redis扩展 1.使用phpinfo()函数查看PHP的版本信息,这会决定扩展文件版本 ...