在第一次接触 Django 时,很多同学都会被它的“重量感”劝退:
明明只是想写个接口,为什么要先创建一整套项目结构?
但这恰恰是 Django 的优势所在。 它不是一个“一个 .py 文件跑全场”的轻量框架,而是从第一天就把你拉进工程化开发的轨道。
这篇文章,完整整理了课堂视频中的核心内容,带你从 项目创建 → 服务启动 → 关闭与排错 → 项目结构拆解 一步步走清楚。
阅读目录
- 一、Django 项目是如何创建的
- 二、Django 服务如何启动与验证
- 三、Django 服务关闭的两种方式
- 四、新手最常见问题:端口被占用
- 五、Django 项目整体结构一览(配图)
- 六、核心文件逐个讲清楚
- 七、为什么说 runserver 只适合开发环境
- 八、本节内容小结
一、Django 项目是如何创建的?
在 Linux 环境中安装好 Django 后,系统会自动提供一个命令行工具:
django-admin
它是 创建 Django 项目的唯一入口。
创建项目的核心命令
django-admin startproject 项目名
例如:
django-admin startproject myset
执行完成后,会在当前目录下生成一个新的项目文件夹。
你可以通过:
ls
来确认项目是否创建成功。
二、Django 服务如何启动与验证?
项目创建完成后,第一件事一定是:把服务跑起来,确认环境没问题。
1、 启动开发测试服务
进入项目目录,执行:
python3 manage.py runserver
此时 Django 会:
- 启动一个开发环境服务器
- 默认监听 8000 端口
- 仅用于本地开发与测试
终端中会看到类似输出:
Starting development server at http://127.0.0.1:8000/
2、 浏览器验证服务状态
在浏览器中访问:
http://127.0.0.1:8000
如果看到 Django 的欢迎页面(带动画的那个),说明:
- 项目结构正确
- Django 运行正常
- 服务启动成功
3、 指定其他端口启动
如果 8000 端口不方便使用,也可以指定端口:
python3 manage.py runserver 5000
访问地址对应变为:
http://127.0.0.1:5000
三、Django 服务如何关闭?两种常见方式
方式一:最推荐(记得启动终端)
在运行 runserver 的终端中,直接按:
Ctrl + C
服务会立刻停止,端口释放。
方式二:端口被占 / 忘了在哪个终端启动
这是新手阶段非常高频的情况。
1、 查找端口占用进程
sudo lsof -i :8000
输出可能会有多行,重点找状态为 LISTEN 的那一行。
2、杀掉对应进程
kill -9 进程ID
然后重新执行 runserver 即可。
四、新手最常见问题:端口被占用怎么办?
当你启动服务时看到:
Error: That port is already in use
不要慌,这个问题本质只有两种原因:
- 上一次 Django 服务没有正常关闭
- 该端口被其他程序占用
解决思路固定不变:
- 用
lsof -i :端口号查 - 找
LISTEN状态 - kill 掉进程
- 重新启动服务
五、Django 项目整体结构一览
创建完成后的 Django 项目,结构大致如下:
myset/ ├── manage.py ├── db.sqlite3 └── myset/ ├── __init__.py ├── settings.py ├── urls.py └── wsgi.py
六、Django 项目结构
graph LR A[Django 项目] --> B[manage.py] A --> C[db.sqlite3] A --> D[项目同名文件夹] D --> D1[__init__.py] D --> D2[settings.py] D --> D3[urls.py] D --> D4[wsgi.py]
七、核心文件逐个讲清楚(新手重点)
Django 项目文件结构拆解图
1、 manage.py —— Django 的命令总入口
- 所有 Django 子命令都从这里触发
runserver、migrate、createsuperuser都依赖它
如果你忘了命令怎么写:
python3 manage.py
直接回车即可查看全部可用命令。
2、 db.sqlite3 —— 默认数据库文件
- 新建项目时不存在
- 第一次
runserver时自动生成 - Django 默认数据库
在实际项目中,后续通常会替换为 MySQL 或 PostgreSQL。
3、 项目同名文件夹(核心配置区)
__init__.py:Python 包标识settings.py:项目配置核心文件urls.py:主路由入口,所有请求先到这里wsgi.py:正式上线时使用的 Web 网关配置
八、一个必须记住的结论
runserver 只适合开发和测试环境
- 前台启动
- 性能与安全性都不适合生产
- 正式上线会采用更规范的启动方式
九、本节内容小结
- Django 项目创建使用
django-admin startproject - 开发环境启动使用
python3 manage.py runserver - 服务关闭可通过
Ctrl + C或 kill 进程 - 项目结构中最重要的是:
manage.py(命令入口)- 项目同名文件夹(核心配置)