介绍
简单快速的应用开发框架,构建在Flask之上。包括详细的安全,自动CRUD生成模型,谷歌图表等等。
广泛的配置,所有功能,易于集成与Flask/Jinja2开发。
依赖
1 | flask |
安装
1 | pip install Flask-AppBuilder |
使用
快速构建项目
1 | fabmanager create-app |
然后继续往下输出
创建管理用户
1 | fabmanager create-admin |
运行脚本
1 | fabmanager run |
或者
1 | python run.py |
端口号修改
run.py
1 | app.run(host='0.0.0.0', port=8080, debug=True) |
修改port 后 执行python run.py(只适用这种方式执行)
基本配置
数据库配置
config.py
1 |
|
目录结构
1 | | - projectName |
- app目录下存放我们Web应用的相关脚本文件
- babel存放国际化相关配置和导出的翻译字符串
- 根目录下则存放着Web应用的配置脚本和主脚本文件
修改名字
config.py
1 | APP_NAME = "My App Name" |
主题配置
config.py
1 | APP_THEME = "bootstrap-theme.css" # default bootstrap |
修改首页
app/index.py
1 | from flask_appbuilder import IndexView |
templates/new_index.html
1 |
|
app/iniy.py指定indexview的值
1 | from app.index import MyIndexView |
BaseView
app/views.py
1 | from flask_appbuilder import AppBuilder,expose,BaseView |
添加权限@has_access必须登录
1 | from flask_appbuilder import ModelView,AppBuilder,expose,BaseView,has_access |
添加视图到菜单
app/templates/index.html1
2
3
4
5
6{% extends "appbuilder/base.html" %}
{% block content %}
<h1>Welcome</h1>
<h2>Hello World</h2>
<h3>{{ msg }}</h3>
{% endblock %}
app/views.py
1 | class indexView(BaseView): |
ModelView
app/models.py
1 | from sqlalchemy import Column, Integer, String, ForeignKey, Date |
app/views.py
1 | from flask_appbuilder import ModelView |