OpenCert 是一个基于 Django 构建的开源证书管理平台,专为教育机构、企业和活动组织者设计。它提供了一站式的解决方案,用于设计、生成、分发和验证电子证书。
- 支持多机构注册与隔离。
- 每个机构可独立管理自己的活动、模板和证书数据。
- 完善的权限控制体系。
- 内置基于 Fabric.js 的可视化拖拽编辑器。
- 支持自定义背景图片上传。
- 灵活配置文本字段(姓名、编号、日期等)的位置、字体大小和颜色。
- 实时预览证书效果。
- 创建和管理各类培训、比赛或会议活动。
- 关联特定的证书模板。
- 批量导入学员信息(支持 CSV/Excel 导入模板)。
-基于 ReportLab 和 Pillow 的高性能 PDF 生成引擎。
- 自动生成唯一的证书编号和防伪二维码。
- 支持批量生成 PDF 文件,方便下载和打印。
- 提供公开的证书验证页面。
- 支持通过证书编号或扫描二维码进行真伪查验。
- 验证页面展示证书详细信息及原始 PDF 下载。
- 后端: Python 3.8+, Django 5.2
- 数据库: SQLite (默认), 支持 PostgreSQL/MySQL
- PDF处理: ReportLab, xhtml2pdf
- 图像处理: Pillow, qrcode
- 前端: HTML5, Bootstrap 5, Fabric.js (用于画板功能)
git clone https://github.com/cnyiwei/opencert.git
cd opencert# Windows
python -m venv venv
.\venv\Scripts\activate
# Linux/macOS
python3 -m venv venv
source venv/bin/activatepip install -r requirements.txt本项目依赖 Bootstrap 和 Fabric.js 等前端库,运行以下脚本自动下载:
python download_assets.pypython manage.py migratepython manage.py createsuperuserpython manage.py runserver访问 http://127.0.0.1:8000 即可开始使用。
<<<<<<< HEAD
如果你更喜欢使用 Docker 部署,可以直接使用以下命令(需先安装 Docker 和 Docker Compose):
- 构建并启动:
docker-compose up --build
- 访问应用: 访问 http://localhost 即可开始使用。
=======
7d2df3a74bdd71ab4cd8ed0d111941a9db14aa14
opencert/
├── certificates/ # 证书核心业务逻辑 (Model, Views)
├── core/ # 核心功能 (Organization, User)
├── opencert/ # 项目配置 (Settings, URLs)
├── static/ # 静态文件 (CSS, JS, Images)
├── templates/ # HTML 模板文件
├── media/ # 用户上传文件 (Logo, 背景图, 生成的证书)
├── download_assets.py # 静态资源下载脚本
├── manage.py # Django 管理脚本
└── requirements.txt # 项目依赖
- 注册与登录: 访问首页进行机构注册或管理员登录。
- 完善机构信息: 上传机构 Logo,填写简介。
- 设计模板:
- 进入“模板管理”,点击“新建模板”。
- 上传证书背景图。
- 使用“设计”功能拖拽配置姓名、编号等字段位置。
- 创建活动:
- 新建活动,选择刚刚设计的模板。
- 设置活动时间和描述。
- 录入数据 & 生成:
- 在活动详情页添加学员信息。
- 点击“生成证书”按钮,系统将自动生成带二维码的 PDF。
- 验证: 扫描证书上的二维码或访问验证链接查看证书真伪。
- 生产环境部署: 请务必在生产环境中修改
settings.py中的SECRET_KEY并将DEBUG设置为False。 - 字体支持: PDF 生成依赖系统字体,如遇中文乱码问题,请确保服务器安装了支持的中文字体(如 SimHei, Arial Unicode MS 等),或在代码中指定字体路径。