同时支持 Django 模板渲染与 RESTful / GraphQL 前后端分离两种开发模式
seal — Vue 后台模板
作者 hequan2017
海豹(seal)是一个基于 Django 的后台开发模板,同时支持模板渲染与前后端分离两种模式,并内置 K8s 管理与 SQL 审核执行示例。
看看你的网站会是什么样
浏览真实页面截图,比较内容排版与手机效果。点击下方缩略图切换,放大查看整页细节。
目前有 1 张原始预览,可打开完整图片查看设计细节。
截图用于了解视觉与布局,交互效果请以实际项目为准。
值得关注的模板亮点
从已有项目资料中,快速了解它的特点。
assets 模块提供基于 CBV 的完整增删改查示例,可作为业务模块开发参考
内置 K8s 管理页面,包含 Node / Service / Pod 列表与 Pod WebSSH
集成 goInception 与 soar,提供 SQL 检测执行与语法优化建议
异步任务提供 Celery 与 dramatiq 两套方案,并带权限控制与 simpleui 后台
模板详细介绍
海豹(seal)是作者 hequan2017 开源的 Django 基础开发平台模板,采用 MVC 模式与 CBV(Class-Based View)方式编写。它同时支持非前后端分离(Django 模板渲染)和前后端分离(RESTful / GraphQL API)两种开发方式,可用于参考搭建自己的 Django 后台项目。
模板包含 base 基础网页模板与 system 平台页面(首页、登录、修改密码),assets 模块提供完整的增删改查范例;接口层提供基于 DRF 的 RESTful API 示例(含 Token 认证与两套 API 文档)以及基于 graphene-django 的 GraphQL Query / Mutation 示例。此外还内置两个运维场景实现:K8s Web Console(Node / Service / Pod 列表与 Pod WebSSH)和 SQL 审核执行(集成 goInception 与 soar)。
使用前需注意:项目基于 Python 3.6 与 Django 2.2 环境,依赖 MySQL 5.7 或 SQLite 以及 Redis;K8s 模块需在 settings.py 中配置 Token 与 APISERVER,SQL 模块需启动 goInception 并配置备份服务器。作者在 README 中说明项目按周末节奏开发更新,四期前端重构仍在进行中,若直接用于生产项目需重新生成 SECRET_KEY。
适合你的项目吗?
适用场景
- 参考搭建 Django 后台项目的基础模板与目录结构
- 学习 CBV 写法、DRF RESTful API 与 GraphQL 接口示例
- 作为 K8s 集群 Web 管理界面的开发起点
- 搭建带 SQL 审核执行能力的数据库运维后台
适合人群
- 正在学习或使用 Django 开发后台的开发者
- 需要同时评估模板渲染与前后端分离两种方案的团队
- 希望参考 K8s 管理与 SQL 审核实现的后端工程师
上手与定制指南
结合仓库当前版本的说明,按下面的资料检查内容、配置与运行要求。
- 1
环境要求 Python 3.6、MySQL 5.7(或 SQLite)、Redis,安装依赖后执行 makemigrations、migrate 与 createsuperuser
- 2
K8s 模块需在 seal/settings.py 中配置 Token 与 APISERVER,Token 获取方法见仓库内文档
- 3
SQL 模块需为 sql/bin/soar 与 sql/bin/goInception 添加可执行权限,并按 config.toml 配置备份服务器
- 4
异步任务按需启动:定时任务用 celery -B -A seal worker,普通异步任务用 dramatiq
- 5
若用于生产项目,需重新生成 settings 中的 SECRET_KEY,并注意时区为 UTC 存储
授权与来源资料
使用条件与限制
免费使用 · 保留许可声明本次收录的是公开仓库中采用 MIT 许可的免费版本;免费范围为该版本代码,不代表外部服务或第三方素材免费。
使用时需要遵守
- 允许免费使用、修改、商用和分发该版本代码。
- 分发代码副本或实质性部分时,保留原作者版权声明和完整 MIT 许可声明。
- 代码按现状提供;担保与责任限制以原许可证及适用法律为准。
额外费用与待核对事项
- 若将本项目直接用于生产环境,必须重新生成 settings 中的 SECRET_KEY,否则存在安全风险。
- 使用 K8s 管理模块需自行获取并配置 k8s admin Token 与 APISERVER 地址,属于外部服务凭据要求。
- SQL 审核模块依赖外部 goInception 服务,并需在 config.toml 中配置备份服务器才能使用备份功能。
- 运行需自备 Python 3.6、MySQL 5.7 或 SQLite 以及 Redis 等外部依赖环境。
- 异步任务与 Pod WebSSH 的 WebSocket 通道依赖 Redis 作为 broker 与 backend,需额外部署。
- 演示图片、字体、图标及其他第三方素材需按各自许可核对,不能仅凭代码的 MIT 许可判断。
- 域名、托管、数据库、支付或 AI 等外部服务可能另外收费。
查看原文依据
Permission is hereby granted, free of charge
许可证原文
如果想直接拿来做生产项目,请重新生成一个 settings 文件里面的 SECRET_KEY
README 原文
修改 `seal/settings.py` 中 k8s 相关设置(Token 获取方法见 `k8s/k8sApi/获取k8s admin token的方法.md`)
README 原文
`sql/bin/config/config.toml` 里面可以设置备份服务器,详情可以 GitHub 搜索 goInception
README 原文
环境要求:Python 3.6、MySQL 5.7(或 SQLite)、Redis。
README 原文
https://github.com/hequan2017/seal/blob/master/LICENSEhttps://github.com/hequan2017/seal/blob/master/README.mdRedis(celery / dramatiq / channels 的 broker 与 backend)
README 原文
DeepSeek 根据仓库许可证和 README 整理 ·2026-10-01。结果仅覆盖已读取资料,依赖、图片、字体及后续条款变更以各自原文为准。
项目核对记录与介绍依据
模板资料
- 来源平台
- GitHub
- 资料与维护参考分
- 资料较完整 · 96 / 100
- 技术栈
- Vue · Django
- 网站类型
- 后台
这个分数如何计算
本站按许可资料(最高30分)、演示链接(12分)、预览图(10分)、Star数(15分)、记录的维护时间(15分)、描述完整度(8分)、功能记录(5分)和分类资料(5分)计算。它不是代码、安全或性能测试,也不是 Google 评分;有链接不代表已实测可用。
这个项目需要核对什么
- 记录的仓库更新时间
- 2026-09-28
- 截图检查日期
- 2026-10-01
已收录演示链接。请用你的内容与屏幕尺寸检查;有演示不代表表单、认证或支付已经可用。
目录记录的主要技术栈是 Vue。请通过依赖清单和锁文件核对实际版本与托管要求。这些说明基于收录资料,不代表代码审计或部署实测。
查看具体选型方法 →介绍的制作与核对状态
介绍由 AI 辅助整理目录与仓库资料。仓库作者不等于这篇介绍的审核者。
已完成服务器许可规则与 AI 来源核对;未经过人工编辑审核。
查看当时使用的来源资料
SHA-256: bb7c3d137e533be685374259df243db4d4d22556241df12f8d62972bdacb136e
2026-10-01T02:38:31.342Z
来源文件 / 仓库[简体中文](README.md) | [English](README.en.md)
# 海豹 seal
> django-base-templates —— 主要为 Django 开发 DEMO,支持非前后端分离和前后端分离模式






> 因本项目开始时间为 3 月 1 日,是国际海豹日,故项目起名为 海豹 seal。
## 项目介绍
海豹(seal)是一个 Django 基础开发平台模板,采用 MVC 模式开发,同时支持 **非前后端分离**(Django 模板渲染)和 **前后端分离**(RESTful / GraphQL API)两种开发方式,可以直接拿来参考开发自己的 Django 项目。
项目基于 Django 2.2 + Python 3.6 + Celery 4 异步任务,前端模板使用 inspinia 2.7(Bootstrap3),全部采用 CBV(Class-Based View)方式开发,并附带 DRF RESTful API 示例、GraphQL 示例、Kubernetes 管理和 SQL 审核执行等实战模块。
除了作为基础模板,项目还内置了两个运维场景的完整实现:**K8s Web Console**(Node / Service / Pod 列表 + Pod WebSSH,通过调用 k8s api 执行命令)和 **SQL 审核执行引擎**(goInception / soar)。
作者会在周末进行开发、更新。
## ✨ 功能特性
- **基础开发模板**:base 网页基本模板 + system 平台基本网页(首页 / 登录 / 修改密码),前端模板 inspinia 2.7(Bootstrap3)
- **资产管理示例**:assets 模块提供完整的增删改查(CBV)范例,可作业务模块开发参考
- **RESTful API**:基于 DRF 的接口示例,支持 Token 认证(`/api/token`),自带两套 API 文档(`/api/docs/` 与 Swagger 风格的 `/api/docs2/`)
- **GraphQL**:基于 graphene-django 的 Query / Mutation 示例(用户列表、单查、增删改),内置 GraphiQL 调试页面(`/graphql/`)
- **K8s 管理**:Node / Service / Pod 列表、Pod 详情,**Pod WebSSH**(django-channels + WebSocket,通过调用 k8s api 在 Pod 内执行命令)
- **SQL 审核执行**:集成 goInception 做 SQL 检测 / 执行(支持备份),集成 soar 输出语法优化建议,支持多环境数据库配置
- **异步任务双方案**:Celery(推荐用于定时任务,配合 django-celery-beat / django-celery-results / flower)与 dramatiq(普通异步任务)
- **权限控制**:登录认证 + Django Permission 页面级权限校验,后台管理使用 django-simpleui 美化
## 开发计划
* 一期:基础模板(已完成)
* 二期:k8s 管理平台(开发中)
* node/service/pod 列表(已完成)
* pod webssh(已完成,通过调用 k8s api 进行执行命令)
* 三期:mysql sql 语句审核(已完成)
* sql 检测执行
* 四期:正在开发中,重构前端 <https://github.com/hequan2017/seal-d2-admin>
## 🛠 技术栈
**后端**
- Python 3.6 / Django 2.2.4(CBV 开发方式)
- Django REST framework 3.9.2 + django-rest-swagger(API 与文档)
- graphene-django 2.2.0(GraphQL)
- celery 4.1.1 + django-celery-beat + django-celery-results + flower;dramatiq 1.5.0(异步任务)
- django-channels 2.2.0 + channels-redis(Pod WebSSH 的 WebSocket 通道)
- kubernetes 9.0.0(官方 k8s python client)、PyMySQL / mysqlclient、paramiko、psutil
**前端**
- Bootstrap3 + inspinia 2.7 模板(非前后端分离模式)
- Vue 版本前端:<https://github.com/hequan2017/seal-vue>、<https://github.com/hequan2017/seal-d2-admin>
**存储与依赖服务**
- MySQL 5.7 / SQLite
- Redis(celery / dramatiq / channels 的 broker 与 backend)
**SQL 审核工具**
- goInception / soar(可执行文件已随仓库提供,位于 `sql/bin/`)
## 🚀 快速开始
环境要求:Python 3.6、MySQL 5.7(或 SQLite)、Redis。
```bash
yum install python-devel mysql-devel python36-devel.x86_64 -y
git clone https://github.com/hequan2017/seal
cd seal
## django 2.2 不支持低版本的 sqlite,如果想使用 sqlite 存储数据,
## 请根据这个博客 https://www.jianshu.com/p/cdacf4b74646 进行升级
python36 -m pip install -r requirements.txt
python36 manage.py makemigrations
python36 manage.py migrate
python36 manage.py createsuperuser
python36 manage.py runserver 0.0.0.0:8001
// 后台运行
// nohup python36 manage.py runserver 0.0.0.0:8001 >> /tmp/http.log 2>&1 &
```
### K8s 模块
修改 `seal/settings.py` 中 k8s 相关设置(Token 获取方法见 `k8s/k8sApi/获取k8s admin token的方法.md`):
```python
## K8S
Token = "<dashboard-admin-token>"
APISERVER = 'https://192.168.100.111:6443'
```
### SQL 模块
进入项目目录 `cd seal`,`sql/bin/config/config.toml` 里面可以设置备份服务器,详情可以 GitHub 搜索 goInception:
```bash
chmod +x sql/bin/soar
chmod +x sql/bin/goInception
./sql/bin/goInception -config=sql/bin/config/config.toml
```
### 异步任务
* 扩展功能-异步1:推荐定时任务用 celery
```bash
cd seal
celery -B -A seal worker -l info
```
* 扩展功能-异步2:普通异步任务用 dramatiq
```bash
cd system/decorator/asynchronous/
dramatiq asynchronous --watch . --log-file /tmp/dramatiq.log
```
### 注意
* 如果想直接拿来做生产项目,请重新生成一个 settings 文件里面的 SECRET_KEY
* 时区问题(因为开启了时区,Django 在数据库里面保存的是 UTC 时间,调用的时候会帮你转为东八区,celery 会自动识别时间):
```python
from django.utils import timezone
for i in Users.objects.all():
print(i.last_login) ## 直接读取时间,会是 utc 时间,未转换,如果需要处理请注意
print(timezone.localtime(i.last_login).strftime("%Y-%m-%d %H:%M:%S")) ## 时间格式化为正常时间
## 2019-03-05 06:41:18.040809+00:00
## 2019-03-05 14:41:18
```
## 📁 目录结构
```
seal/
├── assets/ # 资产管理(增删改查示例)
├── k8s/ # K8s 管理(node/service/pod 列表、Pod 详情、webssh)
├── sql/ # SQL 审核执行(goInception / soar,bin 目录含可执行文件)
├── system/ # 系统模块(登录/用户/密码/异步任务示例)
├── document/ # demo 截图、sql 说明、代码规范
├── templates/ # 页面模板(base/system/assets/k8s/sql)
├── static/ # 静态资源(inspinia、ace、echarts、ueditor 等)
└── seal/ # 项目配置(settings / urls / schema / routing / celery)
```
## 📸 DEMO / 截图
> DEMO:<http://129.28.156.219:8001>
> 账户 admin 密码 1qaz.2wsx
> API 文档地址:<http://129.28.156.219:8001/api/docs/>








## 🔗 相关项目
* **seal-vue**:Vue 版本前端(持续开发中):<https://github.com/hequan2017/seal-vue>
* **seal-d2-admin**:四期重构前端(D2Admin):<https://github.com/hequan2017/seal-d2-admin>
## GraphQL 使用示例
具体代码请参考 `seal/schema.py`,请求地址:<http://localhost/graphql>
GraphQL 请求参数:
```
query{
users{
id,
username,
email
}
}
query{
singleUser(pk: 1){
username,
email
}
}
mutation createUser {
createUser (username: "test1") {
info {
id,
},
ok
}
}
mutation updateUser {
updateUser (pk:2,username: "test2") {
info {
id,
},
ok
}
}
mutation deleteUser {
deleteUser (pk:2) {
ok
}
}
```
## 📄 License
[MIT](LICENSE) © 2019 何全
## 售后服务
* cbv 中文文档 <http://ccbv.co.uk/projects/Django/2.1/django.views.generic.edit/>
* GraphQL 中文参考文档 <https://passwo.gitbook.io/graphql/index/drf>
### 交流
* 有问题可以加 QQ 群:620176501 <a target="_blank" href="//shang.qq.com/wpa/qunwpa?idkey=bbe5716e8bd2075cb27029bd5dd97e22fc4d83c0f61291f47ed3ed6a4195b024"><img border="0" src="https://github.com/hequan2017/cmdb/blob/master/static/img/group.png" alt="django开发讨论群" title="django开发讨论群"></a>
* 欢迎提出你的需求和意见,或者来加入到本项目中一起开发。
### 作者
* 何全
看看同类模板
对比同技术栈与用途的模板,找到更适合的视觉与内容结构。

vuestic-admin
Vuestic Admin is an open-source, ready-to-use admin template suite designed for rapid development, easy mainte…
Vue · 后台

v3-admin-vite
v3-admin-vite 是一个主打 AI 编程友好体验的 Vue3 后台管理模板,基于 Vue3、Vite、TypeScript、Element Plus 构建。
Vue · 后台

vue-typescript-admin-template
vue-typescript-admin-template 是一套面向后台管理界面的前端解决方案,基于 Vue 2.6、TypeScript 和 Element UI 构建。
Vue · 后台

vue-antd-admin
Vue Antd Admin 是 Ant Design Pro 的 Vue 实现版本,目标是为中后台项目提供一套开箱即用的前端与设计解决方案。
Vue · 后台

coreui-free-vue-admin-template
Free Vue Admin & Dashboard Template Built for AI-Assisted Development
Vue · 后台

nova-admin
A simple and flexible admin template based on Vue3, Vite, TypeScript, NaiveUI
Vue · 后台
