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

欢迎来到Django的世界!如果你是一个完全没有编程经验的初学者,或者刚接触后端开发的小白,那么恭喜你选择了一个非常强大的工具——Django。
1. Django 是什么?
Django 是一个用 Python 编写的Web 框架。你可以把它理解为“建房子的工具包”:如果你想盖一座网站的房子,Django 就是你手中的砖头、锤子和水泥。
它内置了很多好用的功能,比如:
- 用户登录系统
- 数据库管理工具
- 后台管理系统(Admin)
- 表单处理
- 安全防护机制(防攻击等)
这些功能原本都需要你自己从零写代码来实现,但在 Django 中,很多都已经帮你准备好了,你只需要学会怎么使用它们。
2. Django 能做什么?
Django 适合做各种类型的网站,比如:
- 博客系统
- 电商网站
- 管理后台系统
- 内容管理系统
- 社交平台原型
它以 "快速开发" 和 "安全性强" 著称,是很多公司和开发者的选择。
二、环境准备:搭建你的开发环境

在开始写代码之前,我们先准备好需要用到的开发工具。别担心,步骤虽然看起来多,但其实都很简单。
1. 安装 Python
Django 是基于 Python 的框架,所以第一步必须安装 Python。
Windows 用户:
- 打开浏览器,访问 https://www.python.org/downloads/
- 点击 “Download Python 3.x.x”
- 安装时记得勾选 Add Python to PATH
- 安装完成后,在命令行输入以下命令查看是否成功:
python --version
macOS / Linux 用户:
一般系统自带 Python,但建议使用最新版本:
python3 --version
如果没有 Python,请自行通过 Homebrew 或 apt-get 安装。
2. 安装虚拟环境工具 venv
为了不影响系统的全局环境,我们会使用 Python 自带的虚拟环境:
python -m venv myenv
然后激活虚拟环境:
Windows:
myenv\Scripts\activatemacOS/Linux:
source myenv/bin/activate
你会看到命令行前面多了个 (myenv),说明你现在处于隔离环境中。
3. 安装 Django
接下来安装 Django:
pip install django
安装完成后检查版本:
django-admin --version
如果你看到了类似 4.2.5 的数字,那就表示安装成功了!
✨新手小贴士:为什么要用虚拟环境?
想象你在家里同时装修厨房和客厅,材料不能混在一起。每个项目也应该用独立的环境,避免版本冲突。否则今天这个项目用 Django 4,明天那个项目用 Django 3,可能会出错。
三、核心概念:什么是 MVT?项目和应用有什么区别?

Django 的设计思想有一个很酷的名字:MVT 模式。我们可以把它类比成一家餐厅的运作方式。
1. MVT 架构简介
| 层级 | 英文名 | 中文名 | 类比 |
|---|---|---|---|
| M | Model | 数据模型 | 菜单里的食材 |
| V | View | 视图逻辑 | 厨师负责炒菜 |
| T | Template | 页面模板 | 服务员上菜 |
也就是说:
- Model 描述我们要保存的数据结构(比如用户信息、文章内容)
- View 处理业务逻辑,告诉页面要显示哪些数据
- Template 是 HTML 页面,用来展示数据
2. 项目与应用的关系
- 项目(Project):相当于整个网站,包含所有配置和应用。
- 应用(App):网站中的一个功能模块,比如博客、评论、用户中心等。
举个例子:一个名为 mysite 的项目中可以有多个 App,比如:
blogcontactusercenter
这就像一家餐厅里可能有前厅、后厨、外卖等多个部门一样。
四、实战项目:一步步创建你的第一个网站

我们将用 Django 创建一个简单的个人网站,叫 “Hello World 网站”,只包含一个页面:“主页”。
第一步:创建项目
django-admin startproject helloworldsite
你会得到一个目录结构如下:
helloworldsite/
├── manage.py
└── helloworldsite/
├── __init__.py
├── settings.py
├── urls.py
└── wsgi.py
解释一下这些文件:
manage.py:项目管理脚本,运行命令会用到它settings.py:项目的配置文件urls.py:路由表,告诉 Django 一个网址应该去哪个页面wsgi.py:用于部署网站的接口文件(进阶内容)
第二步:启动开发服务器
进入项目根目录(即 helloworldsite/ 文件夹所在的地方),然后运行:
python manage.py runserver
这时候打开浏览器,访问 http://127.0.0.1:8000,你应该能看到 Django 的默认欢迎页。
第三步:创建一个应用
现在我们要创建一个自己的页面。我们需要新建一个应用:
python manage.py startapp home
此时你会看到新增了一个叫做 home/ 的文件夹。
现在需要把这个 app 注册到项目中。打开 helloworldsite/settings.py,找到 INSTALLED_APPS,添加 'home':
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'home', # 我们新注册的应用
]
第四步:编写视图函数
打开 home/views.py,修改为:
from django.http import HttpResponse
def index(request):
return HttpResponse("你好!这是我的第一个网页!")
这段代码的意思是:当有人访问某个特定 URL 的时候,就返回一段文字。
第五步:设置 URL 映射
我们需要让 Django 知道哪个 URL 应该调用上面这个视图函数。
首先,在 home/ 目录下创建一个名为 urls.py 的文件,内容如下:
from django.urls import path
from . import views
urlpatterns = [
path('', views.index, name='index'),
]
接着,在主项目的 urls.py(也就是 helloworldsite/urls.py)中引入这个应用的 url:
from django.contrib import admin
from django.urls import include, path
urlpatterns = [
path('admin/', admin.site.urls),
path('', include('home.urls')), # 添加这一行
]
第六步:再次启动服务器并访问页面
执行:
python manage.py runserver
然后打开 http://127.0.0.1:8000,你应该能看到自己写的那句话:“你好!这是我的第一个网页!”
🎉恭喜你完成了第一个 Django 页面!
第七步:添加 HTML 页面(模板)
现在我们让它不只是显示一句话,而是变成一个真正的网页。
- 在
home/下创建一个目录叫templates/home/ - 在其中新建一个文件
index.html,内容如下:
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<title>你好世界</title>
</head>
<body>
<h1>欢迎来到我的网站!</h1>
<p>这是我的第一个 Django 网页。</p>
</body>
</html>
然后修改 views.py:
from django.shortcuts import render
def index(request):
return render(request, 'home/index.html')
注意:为了让模板生效,需要确保在 settings.py 的 TEMPLATES 配置中 DIRS 设置正确:
TEMPLATES = [
{
...
'DIRS': [BASE_DIR / 'templates'], # 这一行要存在或修改为你存放模板的位置
...
},
]
重新刷新页面,你就能看到漂亮的 HTML 页面啦!
五、常见问题解答
❓1. 启动时报错:Port 8000 is in use.
这意味着 8000 端口已经被占用了。你可以换一个端口号:
python manage.py runserver 8080
❓2. 页面提示 TemplateDoesNotExist
请检查:
- 模板文件路径是否正确
- 是否配置了
TEMPLATES['DIRS'] - 是否拼写错误(例如写了 home/Index.html)
❓3. 为什么每次改完代码都要重启服务器?
因为 Django 的自动重载功能默认是开启的,但有时候不会及时生效。你可以直接手动重启服务器:
Ctrl + C # 停止当前服务
python manage.py runserver
❓4. 如何退出虚拟环境?
很简单,在命令行输入:
deactivate
你将回到系统的全局环境。
六、学习建议:下一步该怎么学?
完成这个教程后,你已经具备了基本的 Django 开发能力。接下来建议沿着以下方向继续学习:
1. 学习数据库操作(Model)
- 创建数据表(模型)
- 使用数据库管理数据(增删改查)
- 使用 Django Admin 管理数据
2. 学习更复杂的模板语法
- 在模板中循环显示数据
- 条件判断语句
- 模板继承(提高复用性)
3. 接触 Forms 表单
- 用户如何提交信息
- 表单验证
- 提交后跳转页面
4. 学习用户认证系统
- 登录/登出功能
- 注册功能
- 权限控制(管理员、普通用户)
5. 了解静态文件管理
- CSS、JS 文件加载
- 图片上传与展示
- 使用 Bootstrap 快速美化页面
结束语
你已经完成了从零搭建一个网站的第一步!Django 不仅功能强大,而且社区资源丰富,遇到问题很容易找到答案。
记住一句话:编程不是背知识点,而是不断动手解决问题。多多尝试、大胆犯错,你就一定会成长。
祝你成为一个优秀的 Django 开发者!
📌 提示:本文所有代码都可以在本地环境中测试运行,建议读者边看边练,效果最佳!

评论 0