VueDjango后台

seal — Vue 后台模板

作者 hequan2017

海豹(seal)是一个基于 Django 的后台开发模板,同时支持模板渲染与前后端分离两种模式,并内置 K8s 管理与 SQL 审核执行示例。

看看你的网站会是什么样

浏览真实页面截图,比较内容排版与手机效果。点击下方缩略图切换,放大查看整页细节。

1 个预览视图
作者提供的预览
作者提供的预览

来自项目 README 的原始预览。

目前有 1 张原始预览,可打开完整图片查看设计细节。

截图用于了解视觉与布局,交互效果请以实际项目为准。

采集于 2026-10-01查看来源

值得关注的模板亮点

从已有项目资料中,快速了解它的特点。

01

同时支持 Django 模板渲染与 RESTful / GraphQL 前后端分离两种开发模式

02

assets 模块提供基于 CBV 的完整增删改查示例,可作为业务模块开发参考

03

内置 K8s 管理页面,包含 Node / Service / Pod 列表与 Pod WebSSH

04

集成 goInception 与 soar,提供 SQL 检测执行与语法优化建议

05

异步任务提供 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。

VueDjango后台

适合你的项目吗?

适用场景

  • 参考搭建 Django 后台项目的基础模板与目录结构
  • 学习 CBV 写法、DRF RESTful API 与 GraphQL 接口示例
  • 作为 K8s 集群 Web 管理界面的开发起点
  • 搭建带 SQL 审核执行能力的数据库运维后台

适合人群

  • 正在学习或使用 Django 开发后台的开发者
  • 需要同时评估模板渲染与前后端分离两种方案的团队
  • 希望参考 K8s 管理与 SQL 审核实现的后端工程师

上手与定制指南

结合仓库当前版本的说明,按下面的资料检查内容、配置与运行要求。

  1. 1

    环境要求 Python 3.6、MySQL 5.7(或 SQLite)、Redis,安装依赖后执行 makemigrations、migrate 与 createsuperuser

  2. 2

    K8s 模块需在 seal/settings.py 中配置 Token 与 APISERVER,Token 获取方法见仓库内文档

  3. 3

    SQL 模块需为 sql/bin/soar 与 sql/bin/goInception 添加可执行权限,并按 config.toml 配置备份服务器

  4. 4

    异步任务按需启动:定时任务用 celery -B -A seal worker,普通异步任务用 dramatiq

  5. 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 原文

Redis(celery / dramatiq / channels 的 broker 与 backend)

README 原文
https://github.com/hequan2017/seal/blob/master/LICENSEhttps://github.com/hequan2017/seal/blob/master/README.md

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,支持非前后端分离和前后端分离模式

![版本](https://img.shields.io/badge/release-0.3-blue.svg)
![语言](https://img.shields.io/badge/language-python3.6-blue.svg)
![语言](https://img.shields.io/badge/env-django2.2-red.svg)
![bootstrap3](https://img.shields.io/badge/model-bootstrap3-mauve.svg)
![RESTful](https://img.shields.io/badge/api-RESTful-blue.svg)
![GraphQL](https://img.shields.io/badge/api-GraphQL-blue.svg)

> 因本项目开始时间为 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/>

![列表](document/demo/1.jpg)
![添加](document/demo/2.jpg)
![API](document/demo/3.jpg)
![API](document/demo/4.jpg)
![API](document/demo/5.jpg)
![K8S](document/demo/6.jpg)
![K8S](document/demo/7.jpg)
![SQL](document/demo/8.jpg)

## 🔗 相关项目

* **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>
* 欢迎提出你的需求和意见,或者来加入到本项目中一起开发。

### 作者

* 何全
反馈内容错误

看看同类模板

对比同技术栈与用途的模板,找到更适合的视觉与内容结构。