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

你有没有想过自己开发一个网站?比如博客、在线商城、或者是学习笔记分享平台?Django 就是这样一个帮你快速实现这些想法的工具!
Django 是一个用 Python 编写的 Web 开发框架。它就像一座房子的地基和墙体结构,让你不用从零开始造轮子,而是专注于搭建你想展示的内容。
使用 Django,你可以:
- 快速创建数据库(比如用户信息、文章内容)
- 搭建网页页面
- 处理用户的访问请求
- 管理后台界面
本篇文章将会手把手带你从零开始,完成你的第一个 Django 网站项目——一个简单的博客网站!
环境准备:安装必要的软件和环境

在开始写代码之前,我们需要先准备好开发环境。
1. 安装 Python
Django 是基于 Python 的,所以首先你需要安装 Python。
Windows 用户:
- 前往 https://www.python.org/downloads/
- 下载最新的 Python 3.x 版本并安装
- 在安装过程中勾选“Add to PATH”
安装完成后,在命令行中输入:
python --version
你应该看到类似下面的输出:
Python 3.10.x
Mac / Linux 用户:
大多数系统自带了 Python,输入以下命令查看版本:
python3 --version
如果没安装,可以使用 Homebrew(Mac)或系统包管理器进行安装。
2. 创建虚拟环境(推荐)
虚拟环境可以为每个项目单独配置依赖,避免冲突。
在项目文件夹中运行以下命令:
python -m venv env
然后激活虚拟环境:
Windows:
env\Scripts\activate
Mac / Linux:
source env/bin/activate
激活后命令行前面会显示 (env),表示已进入该虚拟环境。
3. 安装 Django
确保你已经激活了虚拟环境,然后输入:
pip install django
等待下载和安装完成后,运行下面命令确认是否成功:
django-admin --version
你应该看到类似这样的输出:
4.2.x
恭喜!你现在有了完整的 Django 开发环境!
核心概念:Django 的关键组成部分简介
为了更好地理解 Django 是如何工作的,我们来了解几个基础但非常重要的概念。

1. 项目(Project)
整个网站是一个 Django 项目。它包含多个应用,共享同一个配置和数据库。
2. 应用(App)
一个项目可以包含多个功能模块,这些叫作 应用(App)。例如:
- blog(博客)
- accounts(用户账户系统)
每个 App 可以有自己的数据模型、视图和模板。
3. 模型 Model
定义数据结构的地方,例如:
- 博客文章 = 标题 + 内容 + 发布时间
- 用户 = 名字 + 邮箱 + 密码
4. 视图 View
告诉 Django 如何处理用户请求,并返回页面内容。
5. 模板 Template
HTML 页面模板,用来生成最终网页内容。
6. URL 路由
URL 就是网址,Django 使用路由文件将不同的网址对应到不同视图函数。
实战项目:搭建一个简易博客网站
我们将一步步完成这个小项目,包括创建项目、添加页面、发布文章。
第一步:创建 Django 项目
确保你在虚拟环境中,然后执行:
django-admin startproject myblog
这会创建一个名为 myblog 的文件夹,里面包含基本的项目结构:
myblog/
├── manage.py # 用于管理项目的脚本
└── myblog/
├── __init__.py
├── settings.py # 项目设置
├── urls.py # 网站的路由配置
└── wsgi.py
进入项目目录并启动服务器:
cd myblog
python manage.py runserver
浏览器打开 http://127.0.0.1:8000,你会看到 Django 默认欢迎页面。
按下 Ctrl+C 停止服务器,继续下一步。
第二步:创建 Blog 应用
Django 推荐每个功能放在单独的应用中。
运行以下命令创建 blog 应用:
python manage.py startapp blog
这时候你会在项目根目录下看到新的 blog 文件夹。
为了让 Django 认识这个新应用,需要把它添加进配置文件。
打开 myblog/settings.py,找到 INSTALLED_APPS 列表,在末尾添加:
'blog.apps.BlogConfig',
保存文件。
第三步:创建博客文章的数据模型
打开 blog/models.py,修改内容如下:
from django.db import models
class Post(models.Model):
title = models.CharField(max_length=200)
content = models.TextField()
published_date = models.DateTimeField(auto_now_add=True)
def __str__(self):
return self.title
这段代码的意思是:我们要建立一个叫 Post(文章)的数据模型,每篇文章有标题、内容和发布时间。
保存后,告诉 Django 更新数据库:
python manage.py makemigrations blog
python manage.py migrate
这两个命令会自动在数据库中创建存储博客文章的表格。
第四步:创建管理员账号并添加文章
Django 自带强大的后台管理系统。
创建超级用户:
python manage.py createsuperuser
按提示输入用户名、邮箱和密码。
启动服务器:
python manage.py runserver
打开浏览器访问:http://127.0.0.1:8000/admin,用刚才创建的账号登录。
你还看不到 Post 类,因为还没有注册它。
打开 blog/admin.py,修改为:
from django.contrib import admin
from .models import Post
admin.site.register(Post)
刷新管理员页面,现在就能看到 “Posts” 并可以添加新文章啦!
第五步:创建首页视图,显示所有博客文章
现在,我们要创建一个视图函数,让访客可以看到发布的文章。
编辑 blog/views.py:
from django.shortcuts import render
from .models import Post
def post_list(request):
posts = Post.objects.all().order_by('-published_date')
return render(request, 'blog/post_list.html', {'posts': posts})
这段代码做了这几件事:
- 从数据库获取所有文章
- 按发表时间倒序排列
- 渲染一个模板,并把文章传给模板
接下来,我们要创建对应的 HTML 模板。
新建文件夹结构如下:
blog/
└── templates/
└── blog/
└── post_list.html
在 post_list.html 中写入以下内容:
<!DOCTYPE html>
<html>
<head>
<title>我的博客</title>
</head>
<body>
<h1>欢迎来到我的博客</h1>
{% for post in posts %}
<h2>{{ post.title }}</h2>
<p>{{ post.content }}</p>
<hr />
{% endfor %}
</body>
</html>
第六步:配置 URL 路由
现在,我们要把网页地址 / 映射到刚刚创建的视图。
打开 myblog/urls.py 修改如下:
from django.contrib import admin
from django.urls import path
from blog import views
urlpatterns = [
path('admin/', admin.site.urls),
path('', views.post_list, name='post_list'),
]
现在重启服务器,访问 http://127.0.0.1:8000,你应该能看到你刚才添加的文章!
新手常见问题解答
Q1:为什么运行时出现 "command not found"?
A:请检查是否激活了虚拟环境,并且 pip 是否正确安装。尝试重新输入安装命令。
Q2:运行服务器时报错 no module named blog
A:请确认你已在 INSTALLED_APPS 中正确添加 'blog.apps.BlogConfig'。
Q3:模板不显示文章内容怎么办?
A:请检查:
- 模板文件路径是否正确
- 数据库是否已迁移并添加了文章
- URL 是否指向了正确的视图函数
Q4:中文乱码怎么办?
A:确保 HTML 文件顶部加上:
<meta charset="UTF-8">
并且 Django 设置中:
LANGUAGE_CODE = 'zh-hans'
TIME_ZONE = 'Asia/Shanghai'
学习建议:下一步怎么学?
恭喜你完成了你的第一个 Django 网站!以下是进一步学习的方向建议:
| 学习内容 | 简介 |
|---|---|
| Django 表单 | 学会让用户提交评论、注册账号等交互操作 |
| 模板继承 | 多个页面共用头部、底部,提高开发效率 |
| 用户认证系统 | 添加登录、登出功能,限制页面访问权限 |
| Bootstrap 集成 | 使用现成 CSS 框架美化网页 |
| 部署网站 | 把本地项目上传到服务器供他人访问 |
网上有许多免费资源可以帮助你继续学习:
- Django 官方文档
- Bilibili/Douyin 上搜索 “Django 教程”
- 推荐书籍《Fluent Python》《Two Scoops of Django》
结语:编程的世界大门已经为你打开!

这篇文章只是一个起点。Django 功能强大、生态丰富,适合初学者也足够专业开发者使用。通过不断地动手实践,你会发现 Web 开发的乐趣,甚至可以用它打造属于自己的网站、社区或商业项目!
遇到问题不要怕,记住一句话:“Google 是程序员最好的朋友。”
祝你学得开心,编程快乐!💪

评论 0