Skip to content

为什么选择我们

低代码生成,开发效率倍增

项目最大的特点是代码生成器。只需在数据库中建好表,一条命令即可生成完整的前后端 CRUD 模块:

bash
python generator.py django_example

生成器会自动完成:

  • 后端代码:Model、Form、Service、View、URL 全套文件
  • 前端页面:列表页、编辑弹窗、详情弹窗
  • API 接口:前端 TypeScript API 模块
  • 数据库迁移:自动执行 makemigrationsmigrate
  • 菜单权限:自动插入菜单记录和权限节点
  • 路由注册:自动将新模块接入主路由

一个标准 CRUD 模块从手写到调试通常需要 1-2 天,使用生成器只需几分钟。

完整的 RBAC 权限体系

系统内置了企业级的基于角色的访问控制:

  • 用户管理:用户增删改查、重置密码、角色分配
  • 角色管理:角色增删改查、菜单权限分配
  • 菜单管理:菜单树形结构、权限节点定义
  • 部门管理:组织架构树形管理
  • 权限粒度:精确到每个操作(sys:user:addsys:user:delete 等)
  • 超级管理员:用户 ID=1 自动拥有所有权限,无需额外配置

前端通过 v-perm 指令自动控制按钮的显示和隐藏,与后端权限保持一致。

标准 Django 架构

项目遵循 Django 最佳实践,代码结构清晰。以 application/example/ 模块为例:

python
# models.py - 数据模型,继承 BaseModel 自动获得公共字段
class Example(BaseModel):
    name = models.CharField(max_length=100, db_index=True)
    status = models.IntegerField(choices=STATUS_CHOICES)
    sort = models.IntegerField()

# forms.py - 表单验证,继承 ModelForm
class ExampleForm(forms.ModelForm):
    name = forms.CharField(
        required=True, max_length=100,
        error_messages={'required': '案例名称不能为空'}
    )

# services.py - 业务逻辑,所有 CRUD 操作在这里实现
def get_example_page(request):
    query = Example.objects.filter(is_delete=False)
    paginator = Paginator(query, page_size)
    return R.ok(data=page_data)

def add_example(request):
    data, error = parse_request_body(request)
    form = forms.ExampleForm(data)
    if not form.is_valid():
        return R.failed(msg=regular.get_err(form))
    Example.objects.create(
        name=cleaned_data.get('name'),
        create_user=get_username(request)
    )
    return R.ok(msg="创建成功")

# views.py - 视图处理,认证 + 权限 + 操作日志
@method_decorator(check_login, name="get")
class ExamplePageView(PermissionRequired, View):
    permission_required = ("sys:example:page",)

    @operation_log(title="案例管理-查询分页列表", log_type=LogType.QUERY)
    def get(self, request):
        return services.get_example_page(request)

所有模块遵循相同的分层模式,新成员上手快,代码可维护性强。

丰富的内置模块

系统预置了 20+ 个常用业务模块,开箱即用:

  • 系统管理:用户、角色、菜单、部门、职级、岗位
  • 系统配置:字典管理、系统配置、参数管理
  • 内容管理:文章管理、分类管理、公告管理、友情链接
  • 系统监控:登录日志、操作日志、定时任务
  • 开发工具:代码生成器、文件上传、示例模块

这些模块不仅可以直接使用,也是学习本框架开发模式的最佳参考。

Vue3 + ElementPlus 前端

前端采用主流技术栈,开发体验优秀:

  • Vue3 Composition API:更灵活的组件逻辑组织
  • TypeScript:类型安全,减少运行时错误
  • ElementPlus:成熟的企业级 UI 组件库
  • Pinia:轻量级状态管理,替代 Vuex
  • Vite:极速的开发服务器和构建工具
  • 动态路由:菜单和路由由后端驱动,前端无需硬编码

前端开发常用命令:

bash
cd ui
pnpm install    # 安装依赖
pnpm dev        # 启动开发服务器 (http://localhost:8001)
pnpm build      # 生产环境构建
pnpm type:check # TypeScript 类型检查

开箱即用的开发体验

从克隆代码到运行项目,只需几步:

bash
# 1. 克隆项目
git clone <repo_url>

# 2. 创建虚拟环境并安装依赖
python -m venv venv
pip install -r requirements.txt

# 3. 配置 .env(数据库、Redis)

# 4. 初始化数据库
python manage.py makemigrations && python manage.py migrate

# 5. 启动后端
python manage.py runserver

# 6. 启动前端
cd ui && pnpm install && pnpm dev

访问 http://localhost:8001 即可使用。默认超级管理员账号可直接登录。

持续更新

项目持续迭代,紧跟技术发展:

  • Django 版本持续升级至 6.0.3
  • 前端从 Vue 2 升级到 Vue3 + ElementPlus
  • 代码生成器功能不断增强
  • 安全机制持续完善

适用场景

项目适合以下场景:

  • 企业内部管理系统(ERP、CRM、OA 等)
  • 内容管理系统(CMS)
  • 数据管理后台
  • 快速原型开发
  • 学习 Django + Vue 全栈开发

小蚂蚁云团队 · 提供技术支持