第一部分Django是什么为什么是它如果把建网站比作开店-Flask给你一块地和一些基础建材路由、模板引擎店怎么盖、用什么砖瓦你说了算。高度自由但一砖一瓦都得自己操心。-FastAPI则像一家专注做“外卖/API配送”的现代化中央厨房自动化程度高性能出色但主要精力在高效处理“订单”请求和生成“餐品”JSON响应。- 而Django就像一家提供“精装修酒店式公寓”的开发商。从房间布局MVC/MTV架构、水电管路ORM数据库操作、前台管理系统Admin后台甚至门禁安保用户认证都给你配好了。你只需专注经营你的“酒店特色服务”业务逻辑。这就是Django著名的“电池内置”哲学。它不适合所有场景但当你需要快速构建一个功能完整、管理后台健全、安全性有保障的内容驱动型网站如新闻站、博客平台、企业内部管理系统时它能极大提升你的开发效率。⚖️ 第二部分Django vs FastAPI vs Flask怎么选用一个表格太冰冷我用三个比喻来总结Django (精装公寓)-优势开箱即用功能全面ORM、Admin、Auth、缓存等文档极其完善社区庞大安全性高默认防CSRF、SQL注入等。适合中大型、需求明确、需要快速上手的项目。-不足灵活性相对较低“船舵”较大对于微小API或极高并发、定制化极致的场景可能显得“重”。FastAPI (高性能中央厨房)-优势异步支持好性能顶尖自动生成交互式API文档数据类型校验强基于Pydantic。是现代微服务、纯API后端、实时应用的首选。-不足生态系统相比Django仍处于成长阶段很多“精装修”功能需要自己或第三方库搭建。Flask (毛坯房自选建材)-优势极度轻量灵活学习曲线平缓。你可以从零开始按需添加任何扩展数据库用SQLAlchemy表单用WTForms。适合微小型项目、学习Web原理或架构需要高度定制的场景。-不足初始配置决策多需要开发者自己组合拼装项目结构容易因人而异。核心结论没有最好只有最合适。要快速建站选Django要做API服务选FastAPI要极致灵活/学习底层选Flask。 第三部分动手安装并创建你的第一个Django项目理论说完我们来点实在的。请确保已安装Python建议3.8以上。 步骤一安装Django强烈建议使用虚拟环境避免包冲突。打开你的终端命令行# 1. 创建并进入一个项目目录 mkdir my_first_django_site cd my_first_django_site # 2. 初始化虚拟环境 uv init # 3. 安装Django uv add django 步骤二创建项目和应用程序在Django中项目是你的整个网站容器而应用是网站内的功能模块如博客应用、用户应用。# 创建名为 ‘mysite‘ 的项目 uv run django-admin startproject mysite . # 注意最后的点‘.‘它表示在当前目录创建避免嵌套两层目录。 # 现在目录结构类似 # my_first_django_site/ # ├── manage.py # 项目管理命令行工具 # ├── mysite/ # 项目配置目录 # │ ├── __init__.py # │ ├── settings.py # 项目所有设置数据库、应用等 # │ ├── urls.py # 项目级别的URL路由 # │ └── wsgi.py # └── .venv/ # └── pyproject.toml # └── uv.lock # 创建一个名为 ‘blog‘ 的应用 uv run manage.py startapp blog # 创建后多了一个 blog/ 目录里面包含了模型、视图等文件。 步骤三让项目“动”起来首先我们需要将新建的应用注册到项目中。编辑mysite/settings.py文件# 找到 INSTALLED_APPS 列表在末尾添加 ‘blog‘ INSTALLED_APPS [ ‘django.contrib.admin‘, ‘django.contrib.auth‘, ... # 其他默认应用 ‘blog‘, # -- 添加这一行 ]然后进行数据库迁移Django默认使用SQLite无需额外安装# 生成迁移文件根据模型创建数据库表的蓝图 uv run manage.py makemigrations # 执行迁移在数据库中创建表 uv run manage.py migrate最后创建超级用户用于登录强大的Admin后台并运行开发服务器# 创建超级用户按提示输入用户名、邮箱和密码 uv run manage.py createsuperuser # 启动开发服务器默认监听 127.0.0.1:8000 uv run manage.py runserver现在打开浏览器访问