配置与启动Django
Django 是 Python Web 开发里非常经典的框架。它最大的价值之一,就是帮你把网站开发中那些重复而基础的工作提前搭好。
例如:
- 路由分发
- 页面模板
- 数据库映射
- 管理后台
- 用户认证
所以学习 Django 的第一步,不是先背一堆命令,而是先把项目真正跑起来,并且理解项目目录里每个关键文件是干什么的。
本节目标
- 正确安装 Django
- 学会验证 Django 是否安装成功
- 学会创建 Django 项目
- 学会创建 Django 应用
- 理解项目目录结构
- 学会注册应用
- 学会启动开发服务器
- 建立对 Django 项目骨架的整体认识
先修知识
在开始这一节之前,你最好已经具备:
- Python 基础语法
- 命令行的基础使用
pip安装包的基本概念
如果你还完全不熟命令行,建议先回头把 Python 环境和命令行那部分复习一遍。
为什么要用 Django
如果没有框架,你自己做网站会很快遇到这些问题:
- 用户访问某个地址时,应该执行哪段代码
- 数据库怎么连接
- HTML 页面怎么和 Python 数据结合
- 用户登录状态怎么保存
- 后台管理页面怎么搭
这些问题都不是“一次性”的,而是每个网站都会遇到。
Django 的价值就在于:它把这些通用能力做成了一整套成熟方案,让你可以更快进入真正的业务开发。
第一步:安装 Django
最基础的安装命令是:
pip install django如果你的机器上同时有多个 Python 版本,也可能会用:
python -m pip install django或者:
py -m pip install django哪一种能成功,就用哪一种。
第二步:验证安装是否成功
安装完成后,不要急着创建项目,先确认环境真的可用。
python -m django --version如果输出版本号,例如:
5.2.1就说明 Django 已经安装成功。
如果这里报错,说明安装还没真正可用,先别往下走。
第三步:创建 Django 项目
创建项目命令:
django-admin startproject mysite执行完成后,会生成一个目录结构:
mysite/
manage.py
mysite/
__init__.py
settings.py
urls.py
asgi.py
wsgi.py这就是一个最基础的 Django 项目。
理解项目目录结构
这一部分非常重要。很多人学 Django 时痛苦,不是因为命令多,而是因为不知道这些文件分别是干什么的。
manage.py
这是项目管理入口。
后面你常用的命令几乎都要通过它执行,例如:
- 启动服务
- 创建 app
- 数据库迁移
- 创建管理员账号
例如:
python manage.py runserver内层 mysite/
外层目录是项目文件夹,内层同名目录才是真正的项目配置包。
settings.py
这是项目配置文件。
里面通常会放:
- 应用注册
- 数据库配置
- 模板配置
- 静态文件配置
- 调试模式
urls.py
这是项目的路由入口文件,用来决定:
- 用户访问哪个地址
- 应该交给哪个视图处理
wsgi.py 和 asgi.py
这两个文件和部署、服务接口有关。零基础阶段你先知道它们存在就行,后面正式部署时再深入。
第四步:启动开发服务器
进入项目目录后执行:
python manage.py runserver正常情况下,你会看到类似输出:
Starting development server at http://127.0.0.1:8000/这说明 Django 本地开发服务器已经启动成功。
这时用浏览器打开:
http://127.0.0.1:8000/如果页面出现 Django 默认欢迎页,就说明项目跑起来了。
第五步:创建应用 app
在 Django 中,一个项目通常不会把所有功能都写在一个地方,而是会拆成多个 app。
例如:
- 用户模块一个 app
- 文章模块一个 app
- 课程模块一个 app
创建 app 的命令:
python manage.py startapp users执行后会生成:
users/
admin.py
apps.py
models.py
tests.py
views.py这表示你已经创建了一个叫 users 的应用模块。
为什么 Django 要拆 app
因为项目规模变大后,如果所有代码都堆在一起,会很难维护。
拆 app 的好处是:
- 功能边界更清晰
- 文件更容易管理
- 后期扩展更方便
你可以把项目理解成“总工程”,把 app 理解成“工程里的功能模块”。
第六步:注册应用
app 创建完成后,不能直接生效,还要先注册到项目中。
去项目里的 settings.py 找到:
INSTALLED_APPS = [
...
]然后把你的 app 名字加进去:
INSTALLED_APPS = [
...
"users",
]这一步的意义是告诉 Django:
“这个 app 是项目的一部分,请把它纳入管理。”
第七步:写第一个视图
打开 users/views.py:
from django.http import HttpResponse
def index(request):
return HttpResponse("你好,Django")这段代码定义了一个最简单的视图函数。
它的作用是:
- 接收浏览器请求
- 返回一句文本响应
第八步:配置路由
打开项目的 urls.py,先导入视图:
from django.contrib import admin
from django.urls import path
from users.views import index
urlpatterns = [
path('admin/', admin.site.urls),
path('', index),
]这里:
path('', index)表示访问首页时执行index视图
第九步:再次启动并访问
执行:
python manage.py runserver然后访问:
http://127.0.0.1:8000/如果配置正确,浏览器会显示:
你好,Django这意味着你已经完成了一个最基础的 Django 请求闭环:
- 浏览器访问地址
- Django 匹配路由
- Django 调用视图函数
- Django 返回响应
一个完整最小项目流程回顾
你可以把目前为止的操作总结成这几步:
- 安装 Django
- 验证版本
- 创建项目
- 启动开发服务器
- 创建 app
- 注册 app
- 编写视图
- 配置路由
- 浏览器访问页面
只要这一套能走通,后面学模板、表单、模型时就不会悬空。
常见错误
1. django-admin 命令找不到
通常说明:
- Django 没装成功
- Python 环境没对上
- 命令行没有使用正确解释器
可以改用:
python -m django --version或:
python -m django startproject mysite2. 启动服务时报端口被占用
你可以换端口启动:
python manage.py runserver 80013. 创建 app 了,但没注册
如果你后面发现模板、模型、管理后台等行为不正常,一个常见原因就是 app 没加到 INSTALLED_APPS。
4. 路由写了,但页面还是 404
要检查:
urls.py是否真的配置了对应路径- 导入的视图函数是否正确
- 路径有没有写错
练习题
练习 1
自己创建一个新的 Django 项目,并确保默认欢迎页能正常打开。
练习 2
创建一个名为 course 的 app,并注册到 INSTALLED_APPS 中。
练习 3
在 course/views.py 中写一个视图,返回:
欢迎学习 Django并配置路由让浏览器可以访问它。
练习 4
尝试把 runserver 的端口改成 8001 再访问。
练习 5
自己解释一遍:
manage.py是做什么的settings.py是做什么的urls.py是做什么的
本节小结
这一节最重要的,不是只会运行几个命令,而是要真正理解:
- Django 项目是怎么创建出来的
- app 是什么
- 路由和视图是怎样接起来的
- 浏览器请求是如何被 Django 接住并返回结果的
只要你把这一套起步流程彻底走通,后面 Django 的其他模块就有了落脚点。