本节摘要:用命令行快速创建 Django 项目。本节讲清环境(Python + 虚拟环境 + pip)、项目与应用的区别、创建命令,以及"第一个 Django 页面"。
阅读完本节,你应当能够:
"Django 项目怎么开始?"——两条命令:django-admin startproject(建项目)+ python manage.py startapp(建应用)。项目是"容器",应用是"功能模块"——一个项目可含多个应用。
环境与项目分三步:
# 建虚拟环境 python -m venv venv # 激活(Windows) venv\Scripts\activate # 安装 Django pip install django
django-admin startproject mysite cd mysite python manage.py startapp blog python manage.py runserver # 访问 http://localhost:8000
💡 关键直觉:项目 = 整站,应用 = 模块——博客是一个应用、论坛是另一个应用,都放进同一个项目。模块化组织,是 Django 的习惯。
mysite/ 项目配置(settings、urls) blog/ 应用(models、views、admin) manage.py 管理入口
| 命令 | 作用 |
|---|---|
| runserver | 启动开发服务 |
| startapp | 创建应用 |
| makemigrations | 生成迁移 |
| migrate | 执行迁移 |
⚠️ 常见坑:忘记激活虚拟环境。在全局 Python 里装 Django,版本冲突迟早出问题——先激活 venv 再操作。
跑起来了,下一节拆架构——MVT 架构与核心组件。
Q1:项目(project)和应用(app)到底有什么区别?
项目是整个网站的容器,包含全局配置(settings.py 里的数据库、中间件、路由入口等);应用是项目里的功能模块,比如博客系统可以有"文章应用"、"用户应用"、"评论应用"。一个项目可以包含多个应用,一个应用也可以被多个项目复用。建项目用 startproject,建应用用 startapp,这是 Django 最基本的组织单元,务必分清。
Q2:虚拟环境(venv)为什么要建?
它把你的项目依赖和系统全局 Python 隔离。比如你项目 A 用 Django 5、项目 B 用 Django 4,如果不隔离,装一个就覆盖另一个。venv 创建一套独立的 Python 环境和独立的第三方包目录,激活后安装的包都进这个隔离空间,项目之间互不干扰。这是 Python 开发的标配习惯,Django 也明确要求项目建在虚拟环境里。
Q3:makemigrations 和 migrate 有什么区别?
makemigrations 是"生成迁移文件"——根据你对模型类的修改,生成一份记录变更的 Python 文件(描述数据库要做什么改动);migrate 是"执行迁移"——把迁移文件真正应用到数据库。所以顺序是:改模型 → makemigrations 生成迁移 → migrate 应用迁移。团队开发时,迁移文件要提交到代码库,让所有人的数据库结构和代码保持一致。
Q4:为什么访问第一个页面要用 runserver 这种开发服务器?
runserver 是 Django 自带的开发服务器:代码改了自动重载、错误信息详细,专门为开发调试设计。但它性能差、不安全,只用于开发环境。生产部署要换成 Gunicorn 这类正式的 WSGI 服务器配合 Nginx。初学者很容易拿 runserver 直接部署上线,这是典型的错误,后面部署章节会专门讲。
动手建议:按本节命令完整走一遍:建虚拟环境、激活、装 Django、startproject 建项目、startapp 建应用、runserver 启动、浏览器访问默认页面。然后做一次"结构拆解":用目录树命令查看项目结构,对照本节讲的目录职责,逐个说出 mysite 配置目录、应用目录、manage.py 各管什么。跑通并看懂结构,你的 Django 环境就算真正落地了。
本节练习的目标,是从零建起一个能访问的 Django 项目,并理解项目与应用的区别。步骤如下:
第一步,建虚拟环境并激活。创建 venv,激活它(Windows 与 Mac/Linux 激活命令不同),确认命令行提示符出现环境名前缀。验收标准:在虚拟环境里执行 python 命令,版本输出正常。
第二步,安装 Django。在虚拟环境里用 pip 安装,并查看版本。验收标准:安装成功,python 里能导入 django 并显示版本号。
第三步,创建项目。用管理命令新建一个项目,比如叫 mysite。验收标准:当前目录下出现 mysite 目录和 manage.py 文件。
第四步,创建应用。进入项目目录,创建应用,比如叫 blog。验收标准:mysite 目录下出现 blog 应用目录,里面有 models.py、views.py、admin.py 等文件。
第五步,对比结构。用目录树命令查看项目结构,逐个说出:mysite 配置目录管什么、blog 应用目录管什么、manage.py 是什么。验收标准:你能指着每个文件说出它的职责。
第六步,启动开发服务器并访问。运行启动命令,浏览器打开提示的地址,看到 Django 的欢迎页。验收标准:欢迎页正常显示。
六步走完,你的 Django 环境就真正落地了。后面所有章节的练习都建立在这个项目之上,所以每一步都值得亲手做一遍,别只读不做。
Django 起步就是"建虚拟环境、装框架、建项目、建应用、跑起来"五步。项目是容器、应用是模块、manage.py 是总入口。亲手跑通一遍,环境就不再是拦路虎。