Django 是Python 生态里经典的全栈 Web 框架,由 Adrian Holovaty 和 Simon Willison 在 2003 年开发,遵循 MTV(Model-Template-View)架构,设计理念:“电池内置(Batteries Included)”,自带大量组件,不用到处选第三方库搭基建。
官方口号:The web framework for perfectionists with deadlines(给赶工期的完美主义者用的 Web 框架)
✅ 核心特点
电池内置 自带 ORM、后台管理 Admin、表单验证、路由系统、用户认证、权限、CSRF 防护、XSS 防护、SQL 注入防护、缓存框架、国际化,开箱就能做完整业务系统。 对比 FastAPI/Flask:后两者是微框架,很多能力需要自己引入第三方包。
MTV 架构(和 MVC 思想接近)
Model(模型):ORM,映射数据库表,定义字段、约束,操作数据库,不用手写原生 SQL(也支持原生 SQL)
Template(模板):服务端渲染模板引擎(DTL,Django Template Language),渲染 HTML
View(视图):业务逻辑层,接收请求、调用 Model、返回 Template/JSON
DRY 原则(Don’t Repeat Yourself),减少重复代码
强大的内置 Admin 一行注册模型,自动生成后台管理页面,快速做管理系统、CMS、内部平台,这是 Django 最大亮点之一。
安全优先 默认开启 CSRF、XSS、SQL 注入防护、密码哈希存储,很多安全坑框架帮你屏蔽。
📦 配套常用生态
Django REST Framework(DRF):最主流扩展,用来开发 RESTful API,序列化、权限、分页、认证、视图集,非常成熟;很多人用 Django + DRF 做后端 API,前端用 Vue/React。
Celery:配合 Django 做异步任务、定时任务(短信、邮件、离线计算)
django-filter:数据过滤
django-allauth:第三方登录
django-cors-headers:跨域 CORS
🧩 适用场景
✅ 适合:后台管理系统、CMS、内容网站、电商后台、企业内部 OA、需要快速开发带管理端的项目、传统服务端渲染网站、中小型 API 服务 ❌ 不太适合:超高并发极简接口、轻量代理服务、只做简单接口、需要极致性能的微服务(这种一般选 FastAPI)
📝 极简 Demo 带你感受
1. 安装
pip install django
# 创建项目
django-admin startproject myproject
cd myproject
# 创建应用
python manage.py startapp myapp
2. 视图 myapp/views.py
from django.http import HttpResponse
def hello(request):
return HttpResponse("Hello Django!")
3. 路由配置
项目 urls.py
from django.contrib import admin
from django.urls import path
from myapp.views import hello
urlpatterns = [
path('admin/', admin.site.urls),
path('hello/', hello),
]
4. 启动服务
python manage.py runserver
访问 http://127.0.0.1:8000/admin 就是自带后台。
⚖️ 和 Flask / FastAPI 简单对比
⚠️ 缺点
比较厚重,项目小的时候显得臃肿
模板引擎 DTL 功能偏弱,现在很多项目直接前后端分离,只用 Django+DRF 输出 JSON,不用它的 Template
原生同步,异步支持是后来版本才补齐,异步生态不如 FastAPI
本文原创作者:易君召,详见:https://www.yijunzhao.cc/about,转载请注明出处。
原文链接
欢迎访问