Django
定义
Django 是一个基于 Python 的高级 Web 框架,采用 "batteries-included" (电池包含) 哲学,提供完整的 Web 开发功能。
核心特性
- ORM (对象关系映射):抽象数据库操作
- 自动管理后台:快速构建内容管理系统
- 表单处理:内置表单验证和渲染
- 用户认证:完整的认证和授权系统
- 模板引擎:强大的模板语言
- 安全特性:防范 CSRF、SQL 注入、XSS 等
架构模式:MVT
Django 采用 Model-View-Template 架构:
- Model:数据层,定义数据结构和业务规则
- View:逻辑层,处理请求和响应
- Template:表现层,定义用户界面
Django 设计哲学
- DRY原则:不要重复自己
- 松耦合高内聚:组件独立但协作
- 快速开发:少代码实现更多功能
- 显式优于隐式:代码意图明确
通用类视图
- ListView:显示对象列表
- DetailView:显示单个对象详情
- CreateView:创建对象的表单处理
- UpdateView:更新对象的表单处理
- DeleteView:删除对象的确认和删除
Django Ninja
Django Ninja 是基于 Django 的现代 API 框架:
- 使用 Pydantic 进行数据验证
- 自动生成 OpenAPI/Swagger 文档
- 支持异步视图
- 类型安全的 API 开发
最佳实践
- 业务逻辑放在模型或服务层,不在视图中
- 使用 select_related/prefetch_related 优化查询
- 合理使用缓存
- 定期运行 migrations
- 使用环境变量管理配置
相关技术
- Python - 基础编程语言
- Django Ninja - API 开发框架
- PostgreSQL - 推荐的数据库
- Gunicorn - 生产环境 WSGI 服务器
- Docker - 容器化部署
录入自: Django开发实践笔记