Skip to content
DealiAxy edited this page May 30, 2021 · 2 revisions

Django Starter 基础框架

这个项目是我为了满足公司安全部门的要求,定制了一个基于Django的Web框架, 功能包括:给DjangoAdmin加上验证码,并且加入登录次数尝试, 屏蔽了RestFramework默认的API主页,使外部访问无法看到所有接口。

后续我会根据实际工作继续添加一些其他功能以方便团队快速搭建应用~

features

  • 业务代码生成器(新)
  • admin后台安全限制中间件(需手动启用)
  • 非debug模式下管理员可以查看报错信息(需手动启用)
  • 自定义访问前缀
  • 支持Docker部署(使用docker-compose方式)
  • 支持uWsgi部署,支持uWsgi自动重启
  • 默认启用CORS_ALLOW实现接口跨域
  • 基于SimpleUI定制的管理后台
  • 管理后台支持登录验证码和登录尝试次数限制
  • 集成RestFramework,默认屏蔽了链接主页,即对外隐藏API
  • 对默认的settings进行拆分
  • 默认使用Redis缓存
  • 默认集成Swagger文档,开箱即用,无需额外配置
  • 集成微信SDK,支持企业微信登录(依赖wechatpy)

文件结构

  • apps:所有应用

  • apps/core:默认应用,包含已经写好的示例逻辑和后台登录限流逻辑

  • config:框架配置

    • caches.py:缓存配置
    • env_init.py:环境初始化
    • logging.py:日志配置
    • rest_framework.py:DRF配置
  • swagger.py:Swagger文档配置

    • urls.py:路由配置文件
    • urls_root.py:DjangoStarter的顶层路由配置,用于实现地址前缀配置
  • static:静态文件

  • static_collected:运行collectstatic命令后把所有静态文件都保存到这个文件夹

  • templates:模板