一、环境准备
1、创建新的django项目
2、安装simpleui
# 指定清华源安装simpleui
3、修改django后台模块默认的模板
# 修改project的setting文件,在INSTALLED_APPS 首行引入simple应用
4、字符集及时区设置
# 修改project的setting文件
5、静态资源及debug状态设置
# django在开发环境提供bug调试功能,同时该设置影响到runserver运行时的静态资源引入,故生产环境关闭debug开关的时候,保障静态资源的正确引入需要显性定义静态资源
6、数据库连接配置
# 这里以postgresql数据库为例,通常建议使用mysql数据库,多数据库连接不在此处讨论
7、admin模块进行数据库初始化
# 执行数据库迁移
8、创建admin模块超级管理员角色
python
9、检查simple是否正确引入
# 浏览器访问 127.0.0.1:8000/admin 使用admin账户登录确认是否生效
二、创建APP
1、创建app
python
2、创建model
# 在app的model创建测试用例的model
3、配置路由
# 常规的django的web开发一般需要在各个app中创建urls文件,并且将urls路由引入到project的urls中进行统一管理,这里我们通过admin模块的路由注册功能,注册到admin的路由中
三、页面布局
1、增删改查model测试
# 此时登录到页面上可以发现,刚刚创建的数据表已经作为一个类目在页面上展示了,但同时会发现一个问题,详情页面里面显示的并不是字段信息,而是具体的表名称,此处与我们设想的内容并不匹配。通过这一步骤我们成功验证了app的注册方式。具体展示内容,下面的步骤会详细介绍
2、admin首页布局
# 如上图所示,首页基础展示项目由三个部分组成,往往我们需要对首页进行定制重写,这里我们先把这几个展示模块先关闭
接下来我们一起看下侧边栏设置,simpleui的侧边栏支持菜单排序,动态菜单等功能
# project的setting文件中增加如下配置,icon信息可以参考http://www.fontawesome.com.cn/cheatsheet/
如图所示,新配置的侧边栏已经生效,但点击我们自己创建的app的详情页面提示404错误,从异常信息得知,我们在路由配置上存在问题,系统未能找到我们的路由信息
# 问题配置
3、页面标题及侧边栏标题定制
# 应用的admin.py文件中
目前看index_title在simpleui中无效,检查过simpleui的template文件确实没使用到这个参数
4、列表查询页面定制
# admin文件中定义展示页面,后续方便页面管理,可以独立文件,通过import方式引入进行注册
5、表单编辑页面配置
"""
6、页面按钮权限配置
# django admin 的权限模块 默认提供了增删改查的权限配置
# 这里演示了根据不同用户角色决定是否在页面上显示相应的功能按钮
7、编辑页细致说明
前文中我们已经介绍了简单的编辑页面的排版展示功能,接下来会更加详细的介绍编辑页面的排版,方便大家按照各自功能进行定制化开发
# filesets的样式及描述文案
# 多对多选择框 一般用于增加标签等方式上,但需要注意的是这个针对的many-to-many类型字段
# 列表页面如何显示 多对多 这种类型的字段,通过自定义函数进行返回详情以及描述
# 只读字段
# 自动填充字段 eg:修改某条记录时,自动填充修改人为登录用户
# 级联修改 一对多关联 一般用于维度表配置展示
# 只显示当前登录用户自己的数据,超出范围不允许查看
# 列表页部分展示字段显示不同颜色
8、集成富文本编辑器实现数据字典展示功能
# 创建数据字典的model信息,包含主表以及字段表,其中主表跟字段表通过主外键进行一对多的关联
9、自定义按钮实现导入导出功能
# 出处:参考simpleui官方文档
10、Echart组件引入以及页面个性化调整
# django admin 支持自定义template,大部分情况下我们是需要重新修改 change页面
四、应用部署步骤
Step1、安装ngnix
Step2、安装uwsgi
Step3、配置uwsgi
Step4、配置ngnix
Step5、启动服务
至此,我们已经基本上把django+simpleui的快速开发方式介绍了一遍,基本上能够满足一个创业团队或者小型团队的快速工具化的需求。其余基于django使用技巧以及部分源码解读也会在后续其他文章中放出。
2020.03.15