Django入门教程:搭建你的第一个Python网站
开篇:Django是做什么的?

如果你是一个完全没有编程基础的小白,第一次听到“Django”,可能会觉得它很神秘。但其实,Django是一个非常有用的工具。简单来说,Django 是一个用 Python 编写的 Web 框架,它的作用是帮助你快速地搭建一个网站或Web应用。
你可以把 Django 想象成是一个“建房工具箱”。假设你要建一座房子,如果你从头开始一块砖一块砖地垒,效率会非常低。而使用 Django,就像是有了现成的墙板、门窗和楼梯——你只需要按照一定的步骤组装,就能很快建好一座功能完整的房子。
Django 之所以受欢迎,是因为它遵循“开箱即用”的理念,内置了许多常用的功能(比如用户登录、数据库管理等),让你更专注于实现自己的想法,而不是重复造轮子。很多知名的网站,比如 Instagram 和 Pinterest,就是基于 Django 构建的。
在这篇教程中,我们将一步一步教你如何使用 Django 搭建你的第一个网站。即使你是零基础的新手,也能轻松上手!
环境准备:搭建开发环境

要使用 Django,首先我们要准备好开发环境。我们来一步步完成这些安装和配置工作。
第一步:安装 Python
Django 是基于 Python 的框架,所以首先你需要安装 Python。
- 打开浏览器,访问 https://www.python.org/downloads/
- 根据你的操作系统(Windows 或 macOS)下载最新版本的 Python。
- 安装时注意勾选 Add Python to PATH(Windows 用户必须勾选这一项)
- 安装完成后,在命令行输入以下命令验证是否成功:
如果输出类似python --versionPython 3.11.x的内容,说明安装成功。
新手提示: 在 Windows 上如果出现
python不是内部命令的问题,可能是没有正确添加到环境变量。可以尝试运行py --version来检查。
第二步:安装 pip
pip 是 Python 的包管理工具,可以用来安装 Django。
大多数情况下,安装 Python 时会自动安装 pip。你可以通过以下命令检查:
pip --version
如果看到类似 pip x.x.x from ... 的信息,说明已经安装好了。
如果没有,可以从这里重新安装:https://bootstrap.pypa.io/get-pip.py
下载该文件后,在命令行中运行:
python get-pip.py
第三步:安装 Django
现在我们终于可以安装 Django 了!
在命令行中运行以下命令:
pip install django
安装完成后,可以通过如下命令确认是否成功:
django-admin --version
如果能看到类似 4.2.x 的版本号,恭喜你!你的电脑上现在已经有了 Django 这个“造房子”的工具啦!
核心概念:理解Django的基本结构

在正式写代码之前,我们需要先了解几个关键术语:项目(Project)、应用(App)、MVT模式、URL路由、视图(View)和模板(Template)。我们一一来解释它们。
什么是项目(Project)和应用(App)?
- 项目(Project):相当于整个网站的总目录,包含所有设置和各种应用。
- 应用(App):相当于网站中的一个功能模块,比如“博客”、“论坛”、“评论系统”等。一个项目可以包含多个应用。
举个例子:
- 你在做一个在线书店网站,这个网站整体就是一个 Project。
- 里面有“商品展示 App”、“购物车 App”、“用户注册 App”等多个小功能模块,这些都是 App。
这种结构有助于代码组织清晰,便于后期维护和扩展。
Django 的 MVT 模式是什么?
Django 使用一种叫 MVT(Model-View-Template) 的架构模式。我们可以把它想象成做蛋糕的过程:
| 层次 | 英文名 | 对应角色 | 类比 |
|---|---|---|---|
| Model | 模型层 | 处理数据(数据库) | 蛋糕原料(面粉、鸡蛋) |
| View | 视图层 | 逻辑处理(怎么烤蛋糕) | 烤蛋糕的方法 |
| Template | 模板层 | 页面显示 | 成品蛋糕的样子 |
简单地说:
- Model:负责与数据库打交道,存储和读取数据。
- View:接收用户的请求,然后返回相应的结果。
- Template:将数据渲染成好看的网页。
URL路由:网站的入口地图
在现实生活中,每个房间都有一个门牌号,这样才能找到它。在网站中,每个页面也有一个“地址”,这就是我们说的 URL。
Django 中的 URL路由(URL Routing) 就像是一个导航地图,告诉程序“当用户访问某个网址的时候,应该去调用哪个视图”。
例如:
urlpatterns = [
path('hello/', views.hello_view),
]
上面这段代码的意思是:当用户访问 /hello/ 这个网址时,就执行 views.hello_view 这个函数。
视图(View):处理逻辑的地方
视图函数是真正干活的人。它接收来自用户的请求,并决定返回什么样的内容。
一个最简单的视图函数可能长这样:
from django.http import HttpResponse
def hello_view(request):
return HttpResponse("你好,世界!")
当你访问对应路径时,浏览器就会显示出“你好,世界!”这句话。
模板(Template):漂亮的网页外壳
虽然你可以直接通过视图返回一串文本,但在实际项目中,我们更常用的是 HTML 页面。
为了做到这一点,Django 提供了模板系统。你可以在模板中编写 HTML,并插入动态的数据,让页面看起来更丰富。
到这里为止,我们已经掌握了 Django 的核心知识框架。接下来,我们会通过一个实战项目把这些概念串起来。
实战项目:创建你的第一个网站
现在,让我们动手写一个最简单的网站:一个能显示“Hello World”页面的网站。目标很简单,但会涵盖项目创建、路由配置、视图编写、模板渲染这些流程。
第一步:创建项目(Project)
在命令行中运行:
django-admin startproject mysite
这会在当前目录下新建一个名为 mysite 的文件夹,里面就是我们的项目结构。
进入项目目录:
cd mysite
第二步:启动服务器(测试用)
在项目目录下运行:
python manage.py runserver
打开浏览器,访问:http://127.0.0.1:8000/
你应该会看到一个写着 “The install worked successfully! Congratulations!” 的欢迎页面。这意味着我们的项目创建成功啦!
按下 Ctrl+C 可以停止服务器。
第三步:创建应用(App)
我们来创建一个应用,名字叫做 helloapp:
python manage.py startapp helloapp
这时你会发现项目目录下多了一个叫 helloapp 的文件夹。
接着我们需要把这个 app 添加到项目的配置中:
打开 mysite/settings.py 文件,在 INSTALLED_APPS 列表中添加一行:
'heloapp', # 注意拼写错误容易导致报错!
第四步:编写视图函数
打开 helloapp/views.py 文件,修改内容为:
from django.http import HttpResponse
def index(request):
return HttpResponse("这是我的第一个Django网页!")
第五步:配置URL路由
为了让用户能访问这个视图,我们需要配置URL。
打开 mysite/urls.py 文件,修改内容如下:
from django.contrib import admin
from django.urls import path
from helloapp import views
urlpatterns = [
path('admin/', admin.site.urls),
path('', views.index), # 空字符串表示首页
]
这里我们添加了一个路径 '',也就是访问根路径 http://127.0.0.1:8000/ 时,就会触发 views.index 函数。
第六步:再次运行服务器并查看效果
回到命令行,运行服务器:
python manage.py runserver
刷新浏览器,你现在看到的内容应该是我们刚刚写的那段文字:“这是我的第一个Django网页!”
🎉 恭喜你完成了你的第一个 Django 页面!
第七步:加入模板(Template)优化页面
我们现在只返回了一串纯文本,为了让页面更美观,我们来引入模板。
1. 创建 templates 文件夹
在项目根目录下创建一个 templates 文件夹(通常放在项目主目录下更好统一管理):
mysite/
├── mysite/
├── templates/
│ └── index.html
├── helloapp/
└── manage.py
在 templates/index.html 中写入:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>我的第一个网站</title>
</head>
<body>
<h1>欢迎来到我的网站!</h1>
<p>{{ message }}</p>
</body>
</html>
这里的 {{ message }} 是一个占位符,稍后我们会从视图传过来具体内容。
2. 修改视图函数,使用模板
修改 helloapp/views.py 内容如下:
from django.shortcuts import render
def index(request):
context = {
'message': "今天学习 Django,进步很大!"
}
return render(request, 'index.html', context)
现在不再是直接返回文本,而是调用了模板,并且传过去一个 message 字段。
3. 配置模板路径
为了让 Django 找到我们的模板,还需要修改设置。
打开 mysite/settings.py,找到 TEMPLATES 数组,修改 'DIRS' 如下:
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [BASE_DIR / "templates"],
'APP_DIRS': True,
'OPTIONS': {
...
},
},
]
其中 BASE_DIR 是项目的根目录,这样就能定位到 templates 文件夹。
保存后重启服务器,刷新页面,你就能看到一个新的HTML页面啦!
常见问题:新手常遇到的错误及解决办法
1. ImportError: No module named django
原因:Django 没有正确安装或者 Python 环境配置不对。
解决方法:
- 检查是否真的安装了 Django:
pip install django - 使用
python -m django --version测试
2. Page Not Found (404) 错误
原因:URL 路由配置不正确或者路径拼错了。
解决方法:
- 检查
urls.py中的路径是否匹配 - 确保视图函数已正确导入
- 清除浏览器缓存或更换无痕模式
3. TemplateDoesNotExist: index.html
原因:模板路径未正确设置或文件不存在。
解决方法:
- 检查
settings.py中的TEMPLATES['DIRS']是否指向正确位置 - 检查模板文件是否存在并且名称拼写正确
4. AttributeError: module 'helloapp.views' has no attribute 'index'
原因:视图函数拼写错误或未导入。
解决方法:
- 检查
views.py中的函数名是否拼写正确 - 查看
urls.py中的导入语句是否正确:from helloapp import views
学习建议:下一步可以学什么?
恭喜你已经完成了第一个 Django 网站!
接下来你可以沿着以下几个方向继续深入学习:
1. 数据库操作(Model)
- 学习如何设计数据模型
- 创建、查询、更新和删除数据记录
- 用 Django Admin 管理后台管理数据
2. 表单(Forms)
- 学习如何创建表单类
- 验证用户输入
- 实现登录、注册等功能
3. 静态文件管理(Static Files)
- 添加 CSS、JS、图片资源
- 设置媒体文件上传支持
4. 用户认证系统
- 用户注册、登录、注销
- 权限控制
推荐练习项目:
- 博客系统
- 简易商城
- 任务清单(To-do List)
总结一下
在这篇教程中,我们从零开始:
- 安装了 Python、pip 和 Django;
- 介绍了 Django 的基本结构(项目、应用、MVT);
- 动手创建了一个 Hello World 网站,并加入了模板;
- 分析了常见的错误及其解决方案;
- 给出了下一步的学习建议。
只要你跟着步骤一步步做下去,相信你一定能感受到编程的乐趣!继续加油吧!🚀

评论 0