Django入门教程:搭建你的第一个Python网站
适合完全没有基础的新手,图文并茂、循序渐进地教你用Django搭建一个属于自己的网站
一、开篇:Django是什么?我能用它做什么?


你可能听说过一些很酷的网站,比如Instagram、Pinterest、NASA官网等等。它们背后其实都使用了同一个强大的Web开发框架——Django。
那么,Django到底是什么?
Django 是一个基于 Python 的 Web开发框架(Framework),专门用来帮助我们快速构建功能强大的网站。
简单来说,你可以把 Django 当作是一个“网页工厂”。它提供了许多现成的工具和模块,让你不用从零开始造轮子,就能快速搭建包括用户登录、数据库管理、内容展示等功能的网站。
Django能帮你做哪些事?
- 创建博客网站 ✅
- 搭建电商商城 ✅
- 构建后台管理系统 ✅
- 开发API接口(供App调用)✅
- 管理数据库内容 ✅
总之,Django就像一把瑞士军刀,是后端开发人员最喜欢使用的Python武器之一。
二、环境准备:搭建你的第一个Django开发环境

学习编程的第一步通常是设置好开发环境。这一步看似枯燥,但它非常重要,相当于盖房子前先铺好水泥地。
我们这里使用的是:
- Python 3.10 或以上版本
- pip(Python自带的包管理器)
- Django(我们将通过pip安装)
步骤1:安装Python
如果你已经安装过Python,可以跳过本步骤。
👉 到 python.org 下载最新版Python并安装即可。
安装时一定要勾选「Add to PATH」选项(Windows系统)。安装完成后,在命令行输入:
python --version
你应该能看到类似输出:
Python 3.12.1
或者在Mac/Linux上输入:
python3 --version
步骤2:安装虚拟环境(建议)
虚拟环境就像是一个“隔离的小房间”,用于存放每个项目所需的特定软件包,避免版本冲突。
安装方式如下:
python -m venv myenv # Windows / Mac / Linux通用
激活虚拟环境(很重要):
Windows用户:
myenv\Scripts\activateMac/Linux用户:
source myenv/bin/activate
激活后命令行前会多出 (myenv) 字样,表示进入了虚拟环境。
步骤3:安装Django
有了虚拟环境后,我们就可以安装Django了。
pip install django
等待安装完成后,检查是否安装成功:
django-admin --version
你会看到类似这样的输出:
4.2.1
恭喜你,Django已经安装成功!
三、核心概念:Django里的关键词解释(超通俗版)

在正式写代码之前,我们来认识一下Django中最关键的几个术语,它们是你理解整个框架结构的基础。
1. 🧱 项目(Project)
一个项目就是一个完整的网站,比如一个博客网站或商城网站。
Django 把所有配置都放在一个叫做 project 的文件夹中。里面通常会有多个 app。
📌 打个比方:项目就像是一整栋楼,里面包含了不同的房间(app)。
2. 🚪 App(应用)
App 是项目中的一个个模块,比如“文章列表页”、“评论功能”、“登录页”。
每一个 app 就像一栋大楼里的一间房子,完成某种具体的功能。
📌 示例:如果你正在做一个博客网站,你可以有以下 app:
- blog(文章管理)
- user(用户管理)
- comment(评论功能)
3. 🗃️ 模型(Model)
Model 就是用来描述数据结构的。比如一个“文章”的数据模型,可能包括标题、作者、正文、发布时间等字段。
📌 类比:你可以把它想象成一张Excel表格,每张表都有列名和行数据。
4. 🌐 视图(View)
View 决定网页应该显示什么内容。它是连接 Model 和 Template 的桥梁。
📌 类比:View 就像厨师,拿到原料(Model),做出美食(页面内容),然后交给服务员(Template)呈给客人(浏览器)。
5. 🎨 模板(Template)
Template 决定网页长什么样。它是一个 HTML 文件,可以动态插入内容。
📌 类比:你可以把它看作是一道菜的摆盘方式,漂亮又规范。
6. 🔗 路由(URLconf)
URLconf 决定了访问哪个地址就执行哪个 View。
📌 类比:就像导航地图,告诉浏览器“访问 /about/ 时去调用 about_view 函数”。
掌握这些基本概念之后,我们可以进入实战环节啦!
四、实战项目:跟着教程一步步完成第一个网站
我们的目标:创建一个简单的“Hello World!”网页,并最终建成一个简易博客首页。
第一步:创建Django项目
进入你想放项目的目录,运行:
django-admin startproject mysite
这会生成一个叫 mysite 的项目文件夹,其结构如下:
mysite/
├── manage.py
└── mysite/
├── __init__.py
├── settings.py
├── urls.py
└── wsgi.py
其中最重要的就是 manage.py,它是操作Django项目的“控制台”。
第二步:启动开发服务器测试效果
在终端中进入 mysite 文件夹,运行:
python manage.py runserver
你会看到:
Starting development server at http://127.0.0.1:8000/
打开浏览器访问 http://127.0.0.1:8000/,就会看到欢迎页 👍
按下 Ctrl + C 停止服务。
第三步:创建第一个App
我们要做一个“文章列表页”,所以我们创建一个叫 blog 的 app。
回到终端(确保还在 mysite 文件夹下),运行:
python manage.py startapp blog
这样,就生成了一个叫 blog 的文件夹,结构如下:
blog/
├── admin.py
├── apps.py
├── migrations/
├── models.py
├── tests.py
└── views.py
别担心看不懂,我们只先用到 views.py 和 urls.py。
第四步:编写第一个视图(View)
打开 blog/views.py,修改内容为:
from django.http import HttpResponse
def home(request):
return HttpResponse("你好,世界!")
📌 解释:
request: 浏览器发来的请求对象。HttpResponse(): 返回一个网页内容。我们现在只是返回一句简单的文字。
第五步:配置URL路由
为了让网页能访问这个视图,我们需要配置 URL 路由。
打开 blog/urls.py(如果没有自己新建一个),添加以下内容:
from django.urls import path
from . import views
urlpatterns = [
path('', views.home, name='home'),
]
接着打开 mysite/urls.py(主项目的路由文件),将 blog 的路由引入进去:
from django.urls import include, path
urlpatterns = [
path('blog/', include('blog.urls')),
]
现在你可以通过访问 http://127.0.0.1:8000/blog/ 看到“你好,世界!”了。
第六步:使用模板呈现更漂亮的网页
目前只能显示纯文本。接下来我们来美化它。
1. 创建模板文件夹
在 blog 文件夹中创建:
templates/
└── blog/
└── home.html
并在 home.html 中写入:
<!DOCTYPE html>
<html>
<head>
<title>我的第一个Django网站</title>
</head>
<body>
<h1>欢迎来到我的博客!</h1>
<p>这是我的第一个Django网页😊</p>
</body>
</html>
2. 修改视图以使用模板
打开 blog/views.py,改写如下:
from django.shortcuts import render
def home(request):
return render(request, 'blog/home.html')
再次运行服务器:
python manage.py runserver
访问 http://127.0.0.1:8000/blog/,你会看到更美观的页面!
第七步:创建数据库模型(Model)
我们来创建一个简单的文章模型。
打开 blog/models.py,写下:
from django.db import models
class Post(models.Model):
title = models.CharField(max_length=200)
content = models.TextField()
created_at = models.DateTimeField(auto_now_add=True)
def __str__(self):
return self.title
📌 这个模型包含三个字段:
- 标题(最多200个字符)
- 内容(大段文字)
- 创建时间(自动生成)
第八步:应用数据库迁移
模型创建完后,需要同步到数据库中。
运行两条命令:
python manage.py makemigrations
python manage.py migrate
这两条命令的作用分别是:
- 生成迁移文件(类似于数据库变更计划)
- 实际执行这些变更
第九步:注册模型到管理后台
Django 自带一个强大的后台管理系统,可以方便查看和管理你的数据。
打开 blog/admin.py,修改内容如下:
from django.contrib import admin
from .models import Post
admin.site.register(Post)
运行服务器并访问:
你需要先创建管理员账号:
python manage.py createsuperuser
按照提示填用户名、邮箱、密码。
登录后你会看到“Post”模型已经出现在后台,你可以手动添加文章内容啦!
第十步:在页面上展示文章内容
回到 views.py,让我们从数据库读取文章并展示:
from django.shortcuts import render
from .models import Post
def home(request):
posts = Post.objects.all()
return render(request, 'blog/home.html', {'posts': posts})
同时,修改模板文件 blog/home.html:
<h1>欢迎来到我的博客</h1>
{% for post in posts %}
<h2>{{ post.title }}</h2>
<p>{{ post.content }}</p>
<hr>
{% empty %}
<p>暂时还没有文章😢</p>
{% endfor %}
现在刷新网页,如果数据库中有文章,就能看到了!
五、常见问题:新手容易遇到的问题解答 💬
❓1. 启动报错:找不到manage.py怎么办?
请确认你在正确的目录下运行命令。进入项目根目录(也就是有 manage.py 的那个文件夹)再执行:
python manage.py runserver
❓2. 为什么网页没有变化?
- 检查是否保存了
.py或.html文件 - 确保服务器重启了(修改了model、url后需重启)
- 清除浏览器缓存或尝试无痕模式访问
❓3. 报错:ModuleNotFoundError: No module named 'django'
说明Django没安装成功,请退出当前环境,重新激活虚拟环境并重新安装:
pip install django
❓4. 模板无法加载,报错 TemplateDoesNotExist?
- 检查模板路径是否正确
- 确保
TEMPLATES设置中'DIRS': []已正确设置为模板路径(可先跳过高级配置) - 使用绝对路径:
blog/templates/blog/home.html
六、学习建议:下一步该学什么?🚀
恭喜你完成了你的第一个Django网站!虽然只是一个小小的博客首页,但这为你打开了通向Web开发的大门。
下面是一些你可以继续深入的方向:
🔹 基础拓展
| 主题 | 建议学习内容 |
|---|---|
| 表单处理 | 学习 forms.py,创建用户提交功能 |
| 用户系统 | 添加注册、登录、注销功能 |
| 静态资源 | 引入 CSS、图片、JS 文件优化页面样式 |
🔹 高级知识点
| 主题 | 建议学习内容 |
|---|---|
| REST API | 使用 Django REST Framework 编写接口 |
| 安全与权限 | 控制谁可以访问/修改内容 |
| 数据库优化 | 查询优化、索引使用 |
🔹 推荐项目实践
- 个人博客系统
- 简易电商网站
- 天气查询小助手
- 在线投票系统
- 简易论坛
结语 🤝
Django是一个功能强大但相对友好的框架。即使你是初学者,只要肯动手跟着一步一步练习,很快就能写出自己的网站。
编程最重要的不是聪明,而是坚持。
愿你在编程的旅程中越走越远,早日成为优秀的开发者!
如需获取完整示例代码或后续课程资料,请关注我后续更新内容,也欢迎留言提问👇
📘 如果你觉得这篇文章对你有用,不妨点赞、收藏、分享给更多人一起学!

评论 0