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

想象一下你要开一个餐厅。你得买设备、装修店面、招聘员工、设计菜单……这些事都做完以后才能正式营业。
但如果你有一个现成的厨房模板呢?这个模板不仅帮你准备好厨房设备,还自动安排好厨师和服务员的工作流程,甚至还能处理订单和顾客评价。你只需要专注于你的菜谱和特色菜品就行了。
Django 就是这样一个为开发网页应用准备的“厨房模板”,它是一个基于 Python 的 Web 开发框架(Framework),专门帮助我们快速、高效地搭建功能完整的网站。
用 Django 可以做些什么?
- 博客网站
- 在线商城
- 社交平台
- 后台管理系统
- 数据可视化仪表盘
很多大公司比如 Instagram、Mozilla 都在使用 Django,因为它简洁、安全、开发效率高,而且社区支持非常强大。
二、环境准备:搭建开发环境(手把手教学)

在开始写代码前,我们要先准备好“编程工厂”的环境。以下是详细的安装步骤:
1. 安装 Python
Django 是基于 Python 的,所以你需要先安装 Python。
👉 步骤如下:
- 前往官网 https://www.python.org 下载最新版本。
- 根据系统选择对应的安装包(Windows/macOS/Linux)。
- 安装时注意勾选 Add to PATH(Windows 用户必须勾上!)
- 安装完成后,打开终端或命令行工具,输入以下命令验证是否安装成功:
python --version
你会看到类似这样的输出:
Python 3.11.5
2. 创建虚拟环境(Virtual Environment)
为了让不同项目互不影响,我们可以使用 Python 提供的 venv 模块来创建一个隔离的开发环境。
📌 操作步骤:
进入你想保存项目的文件夹,在终端执行以下命令:
python -m venv myenv
然后激活虚拟环境:
- Windows:
myenv\Scripts\activate
- macOS/Linux:
source myenv/bin/activate
激活后,命令行前面会出现 (myenv) 表示你现在处于虚拟环境中。
3. 安装 Django
在虚拟环境中使用 pip 安装 Django:
pip install django
安装完成后,你可以用下面这行命令查看安装的 Django 版本:
django-admin --version
正常情况下会输出类似:
4.2.5
🎉 到此为止,环境已经准备好了!
三、Django 核心概念:用最简单的语言解释专业术语

学习 Django,有三个核心概念你一定要了解:
1. MVT 架构
这是 Django 使用的设计模式:Model - View - Template
| 层级 | 解释说明 |
|---|---|
| Model | 数据库部分,负责存储数据(比如用户信息、文章内容) |
| View | 处理逻辑的部分,比如判断登录状态 |
| Template | 页面显示部分,也就是 HTML 文件 |
简单理解就是:
用户请求 -> View(处理)-> Model(取数据)-> Template(展示)
2. URL 路由(URL Routing)
URL 路由就像是快递员,他根据地址把用户请求送到对应的“处理程序”。
例如:
- 当用户访问
/hello/,路由会把它交给 “欢迎页面” 来处理。 - 访问
/about/,则交给“关于我们”页面处理。
3. 应用(App)
Django 是模块化结构的,一个大型网站可以分成多个小功能模块,每个模块就是一个 App。比如:
- BlogApp(博客相关)
- UserApp(用户管理)
- ProductApp(商品管理)
每个 App 通常包含自己的 Model、View、Template 等组件。
四、实战项目:创建你的第一个 Django 网站
下面我们通过动手实践,搭建一个简单的网站:“Hello World 网站”,包含首页、关于页和一个联系表单。
第一步:创建项目
在你准备好的虚拟环境下运行下面这条命令:
django-admin startproject helloproject
生成的目录结构如下:
helloproject/
├── manage.py # 管理项目的核心脚本
└── helloproject/
├── __init__.py
├── asgi.py
├── settings.py # 项目配置文件
├── urls.py # 总路由文件
└── wsgi.py
接下来进入项目根目录并启动开发服务器:
cd helloproject
python manage.py runserver
此时你可以访问:
http://127.0.0.1:8000
你会看到 Django 的默认欢迎页面!
第二步:创建应用 app
现在我们要创建一个应用来存放我们的页面。
运行以下命令:
python manage.py startapp helloapp
目录中将多出一个叫 helloapp 的文件夹,结构如下:
helloapp/
├── migrations/
│ └── __init__.py
├── __init__.py
├── admin.py # 后台管理设置
├── apps.py
├── models.py # 数据模型定义
├── tests.py # 测试代码
└── views.py # 视图函数(页面逻辑)
我们需要把这个新应用添加到项目中去。
打开 helloproject/settings.py,找到 INSTALLED_APPS,新增一行:
'helloapp',
第三步:编写视图(View)
视图就是我们所说的页面逻辑,我们先做一个简单的主页。
打开 helloapp/views.py,修改内容如下:
from django.http import HttpResponse
def home(request):
return HttpResponse("你好,这是我的第一个 Django 网站!")
def about(request):
return HttpResponse("这里是关于页")
第四步:配置路由(URL)
现在我们告诉 Django 当用户访问哪个网址应该调用哪个视图函数。
打开 helloapp/urls.py,如果不存在就手动新建这个文件:
from django.urls import path
from . import views
urlpatterns = [
path('', views.home, name='home'),
path('about/', views.about, name='about'),
]
然后打开 helloproject/urls.py,把刚刚的应用加入主路由:
from django.contrib import admin
from django.urls import include, path
urlpatterns = [
path('admin/', admin.site.urls),
path('', include('helloapp.urls')),
]
第五步:测试页面
重新运行服务器:
python manage.py runserver
现在可以访问:
你应该能看到两个简单的文字页面了!
第六步:使用模板渲染页面(Template)
目前我们的页面只是一个字符串输出,要让它变成真正的网页,需要使用 HTML 模板。
- 在
helloapp目录下新建文件夹templates,再在里面建一个helloapp子文件夹。
最终结构如下:
helloapp/
└── templates/
└── helloapp/
├── home.html
└── about.html
- 编写
home.html内容:
<!DOCTYPE html>
<html>
<head>
<title>首页</title>
</head>
<body>
<h1>欢迎来到我的 Django 网站!</h1>
<p>这是一个简单的示例页面。</p>
<a href="{% url 'about' %}">前往关于页</a>
</body>
</html>
编写 about.html:
<!DOCTYPE html>
<html>
<head>
<title>关于页</title>
</head>
<body>
<h1>关于本站</h1>
<p>这是一个用 Django 搭建的小网站示例。</p>
<a href="{% url 'home' %}">返回首页</a>
</body>
</html>
- 修改
views.py使用模板:
from django.shortcuts import render
def home(request):
return render(request, 'helloapp/home.html')
def about(request):
return render(request, 'helloapp/about.html')
现在刷新页面,你会发现已经是完整的网页啦!
第七步:增加一个联系页面(Form 表单)
我们来做一个联系表单。
- 新建模板文件:
helloapp/templates/helloapp/contact.html
<!DOCTYPE html>
<html>
<head>
<title>联系我们</title>
</head>
<body>
<h1>联系我们</h1>
<form method="post">
{% csrf_token %}
<label>姓名:<input type="text" name="name"></label><br>
<label>邮箱:<input type="email" name="email"></label><br>
<textarea name="message" placeholder="留言内容"></textarea><br>
<button type="submit">提交</button>
</form>
</body>
</html>
- 添加视图函数
contact():
def contact(request):
if request.method == 'POST':
name = request.POST.get('name')
email = request.POST.get('email')
message = request.POST.get('message')
print(f"收到留言:{name}, {email}, {message}")
return HttpResponse("感谢您的留言!")
return render(request, 'helloapp/contact.html')
- 添加路由:
path('contact/', views.contact, name='contact'),
- 在主页添加链接:
修改 home.html:
<a href="{% url 'contact' %}">联系我们</a>
现在点击“联系我们”,填写信息并提交后你会看到一条打印信息,并跳转到感谢页面。
🎉 恭喜你,你已经完成了你的第一个 Django 网站!
五、新手常见问题解答(FAQ)
Q1:为什么我访问本地服务器时提示无法连接?
可能原因及解决方案:
- 没有启动服务器 → 运行
python manage.py runserver - 端口被占用了 → 使用
runserver 8001更换端口 - 防火墙阻止了连接 → 检查防火墙设置或更换局域网 IP 测试
Q2:为什么 URL 报错 Page Not Found(404)?
- 检查你的
urls.py是否写对了路径 - 检查是否有拼写错误
- 确保重启服务,有时候更改不会立即生效
Q3:为什么模板不加载?页面报错 TemplateDoesNotExist?
- 检查模板路径是否正确,必须放在
templates/应用名/下 - 确保
TEMPLATES设置在settings.py中是正确的 - 注意大小写敏感问题(Linux/macOS 会有影响)
Q4:为什么我无法运行 pip 或 django-admin?
可能是没有激活虚拟环境或者全局 Python 没有正确安装,请尝试:
- 使用
which python(macOS/Linux)或where python(Windows)查看路径 - 重新安装 Django 或 Python
六、下一步学习建议:从基础到进阶
恭喜你已经完成了一个 Django 初体验!接下来你还可以学习以下内容,逐步构建更复杂的网站:
✅ 推荐学习路线:
数据库操作(ORM)
- 用 Django 的 ORM 替代原始 SQL 操作
- 创建数据库模型
- 增删改查操作
静态资源与媒体文件
- 图片、CSS、JS 如何引入
- 用户上传图片如何处理
用户登录与权限控制
- Django 自带的认证系统(Auth)
- 登录注册界面
- 管理员后台搭建
部署上线
- 把网站发布到真实网络上
- 使用云服务器(如阿里云、腾讯云)
- 部署工具:Nginx + Gunicorn
RESTful API 开发
- 使用 Django REST Framework (DRF)
- 构建手机 App 对接的接口
前端互动提升(可选)
- 配合 JavaScript 框架(如 Vue.js / React)
- 实现前后端分离架构
七、结语:坚持练习是最有效的学习方式!
学习编程就像学游泳,光看视频不行,最重要的是真正下水游起来!
你现在已经掌握了基本的 Django 使用方法,接下来只要不断练习、尝试不同的功能,就会逐渐成长为一个独当一面的后端工程师!
如果你喜欢这篇文章,欢迎转发给正在学习编程的朋友,一起进步!
🔚【END】

评论 0