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

你有没有想过,自己也能开发一个像知乎、豆瓣这样的网站?其实这并不是什么遥不可及的事情。今天我们要学习的 Django,就是一个非常适合初学者上手开发网站的工具。
Django 是一个基于 Python 的开源 Web 框架(framework)。你可以把它想象成是一个“网站开发的积木盒子”,它已经帮你做好了很多基础工作,比如用户登录、数据库管理、页面显示等。你只需要按照一定的规则去“搭积木”就可以了。
为什么选择 Django 来入门?
- 用 Python 写代码:Python 是最容易上手的编程语言之一。
- 开发效率高:Django 提供了大量现成的功能模块,让你专注实现自己的功能。
- 社区强大:遇到问题随时可以找到解答和帮助。
- 适合中小型项目快速开发:例如博客、论坛、管理系统等。
环境准备:安装 Django 和必要的开发环境

这一部分我们将一步一步配置好开发 Django 项目的环境。
第一步:安装 Python
在开始之前,请确保你已经在电脑上安装好了 Python 3。如果你不确定是否安装成功,可以在命令行中运行:
python --version
或者 macOS/Linux 用户可能需要用:
python3 --version
如果输出类似 Python 3.10.x,说明你已经安装好了。
✅ 如果没装 Python,请访问官网 https://www.python.org/downloads/ 下载安装。
第二步:创建虚拟环境(推荐)
为了防止不同项目之间依赖冲突,建议我们为每个项目创建一个“隔离的小空间” —— 虚拟环境(virtual environment)。
运行以下命令来创建并激活虚拟环境:
python -m venv myenv # 创建一个叫 myenv 的虚拟环境
source myenv/bin/activate # Linux/macOS
myenv\Scripts\activate # Windows
激活后,终端提示符前会显示 (myenv),表示当前是在这个环境中操作。
第三步:安装 Django
接下来我们在这个虚拟环境中安装 Django:
pip install django
安装完成后检查版本:
django-admin --version
如果能正常显示出版本号,比如 4.2.7,说明安装成功!
核心概念:理解 Django 的基本结构

Django 遵循的是 MVT 设计模式(Model-View-Template),类似于其他框架中的 MVC,但名字稍有不同。简单来说:
| 层级 | 含义 |
|---|---|
| Model | 数据库相关,用来定义数据结构(如文章、用户) |
| View | 处理请求与业务逻辑,决定要返回什么内容给浏览器 |
| Template | 页面模板,决定网页长什么样子 |
还有一个重要组成部分是 URL路由,它负责把不同的网址映射到对应的视图函数上。
下面我们通过一个小例子来看看这些概念是怎么工作的。
实战项目:一步步建立你的第一个 Django 网站

现在让我们动手做一个最简单的网站 —— 显示 "Hello, World!" 的首页。
第一步:创建项目
在命令行中运行:
django-admin startproject mysite
cd mysite
此时你会看到文件结构如下:
mysite/
├── manage.py # 项目管理脚本
└── mysite/
├── __init__.py
├── settings.py # 项目设置
├── urls.py # URL 路由配置
└── wsgi.py
第二步:启动开发服务器
运行下面的命令启动本地测试服务器:
python manage.py runserver
然后打开浏览器,访问 http://127.0.0.1:8000/,你应该能看到 Django 的欢迎页面。
第三步:创建首页“Hello World”
接下来我们添加一个自定义页面 —— Hello World 页面。
1. 添加一个视图(View)
打开 mysite/views.py 文件,写入以下代码:
from django.http import HttpResponse
def hello(request):
return HttpResponse("Hello, World!")
这个函数接收一个请求(request),并返回一句文字作为响应。
2. 配置 URL 路由
打开 mysite/urls.py 文件,修改内容如下:
from django.urls import path
from . import views
urlpatterns = [
path('', views.hello), # 访问根路径时调用 views.hello
]
这样我们就可以通过浏览器访问根目录 /,就能看到 “Hello, World!” 的信息啦!
再次运行服务:
python manage.py runserver
访问 http://localhost:8000,应该就能看到你写的第一个网页内容了。
第四步:加入 HTML 页面(使用 Template)
光返回纯文本不够酷,我们来加个好看的网页吧。
1. 创建 templates 文件夹
在项目根目录下新建一个 templates 文件夹,并在里面新建一个 hello.html 文件:
<!DOCTYPE html>
<html>
<head>
<title>Hello Page</title>
</head>
<body>
<h1>Welcome to My Website!</h1>
<p>Hello, World!</p>
</body>
</html>
2. 修改 settings.py 设置模板路径
找到 mysite/settings.py,修改 TEMPLATES 的 'DIRS' 字段:
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [BASE_DIR / 'templates'], # 加上这句
...
},
]
3. 更新 views.py 使用模板
修改 views.py:
from django.shortcuts import render
def hello(request):
return render(request, 'hello.html')
刷新页面,你会发现 HTML 渲染生效了!
常见问题解答(FAQ)
❓Q1:为什么我运行 runserver 时报错说端口被占用?
👉 可能是另一个程序正在占用 8000 端口。你可以尝试换端口:
python manage.py runserver 8080
❓Q2:导入错误、找不到模块怎么办?
👉 很可能是虚拟环境没有激活,或者 pip 安装位置搞错了。先确认激活状态,再重新安装一遍 Django。
❓Q3:改完代码刷新页面没有变化?
👉 开发服务器不会自动检测改动。每次修改完视图或模板,记得手动刷新浏览器即可。
❓Q4:settings.py 中 TEMPLATES 配置出错?
👉 检查
DIRS是否指向正确的模板文件夹位置,注意是BASE_DIR / 'templates',而不是字符串形式。
学习建议:下一步我可以学什么?
恭喜你完成了你的第一个 Django 小项目!接下来你可以沿着以下方向继续深入学习:
推荐学习路径
| 阶段 | 目标 | 推荐学习内容 |
|---|---|---|
| 入门阶段 | 理解框架结构 | 模型、模板、视图、URL路由 |
| 中阶阶段 | 构建真实项目 | 表单处理、数据库增删改查、静态资源管理 |
| 高阶阶段 | 上线与部署 | 部署到服务器、使用数据库系统(如 PostgreSQL)、安全设置 |
| 扩展应用 | 实现完整项目 | 登录认证、权限控制、REST API、前端交互等 |
继续推荐练习项目
- 建立个人博客网站,支持发布文章和评论
- 做一个任务清单管理系统(To-Do List)
- 创建用户注册、登录和管理界面
总结
Django 是一个非常强大又易于上手的 Web 框架,特别适合刚入门的后端开发者。本教程带你从零开始,亲手搭建了一个简单网站。随着不断练习,你会发现用 Django 开发网站是一件充满乐趣且富有成就感的事情。
别忘了多实践、多提问,有任何疑问都可以去官方文档(https://docs.djangoproject.com/)查找答案。
祝你编程愉快,早日成为一个能够独立开发网站的开发者!💡

评论 0