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

嘿,欢迎来到这个教程!如果你是一个完全没有编程经验的新手,但又想亲手搭建一个网站,那你来对地方了!
什么是Django?
Django 是一个 用 Python 写的框架(英文叫 framework),它可以帮助我们更容易地开发强大的、功能齐全的网站。你可以把它想象成“盖房子的图纸”,它已经帮你规划好了大部分结构,你只需要专注于“装修”部分。
我能用Django做什么?
- 做博客网站
- 做电商网站(像淘宝那种)
- 做社交平台(像微博那样)
- 做企业官网
- 甚至做后台管理系统或数据分析平台……
简单来说:你想做的任何复杂一点的网站,都可以用 Django 来实现!
环境准备:搭建你的Django开发环境

在开始写代码之前,我们得先准备好开发环境,就像你要做饭得先买锅一样 😄
第一步:安装 Python
Django 是基于 Python 的,所以首先需要安装 Python。
下载地址:
前往 https://www.python.org/downloads/
选择适合你系统的版本下载并安装。
✅ 安装时请勾选 Add Python to PATH,这样系统就能找到它啦。
安装完成后,在命令行中输入以下命令查看是否安装成功:
python --version
如果输出类似下面的内容,说明安装成功:
Python 3.12.2
第二步:安装 pip 工具(一般安装Python时自带)
pip 是用来安装 Python 包的工具。你可以通过以下命令检查:
pip --version
第三步:安装 Django
使用 pip 安装 Django:
pip install django
等待安装完成后,可以运行以下命令检查是否安装成功:
django-admin --version
你应该会看到类似这样的输出:
4.2.7
✅ 太棒了!Django 已经安装好了!
核心概念:Django的关键部件有哪些?


虽然你现在还不懂这些词,但没关系,我用最简单的话来解释给你听👇
1. 项目(Project)与应用(App)
- 项目(Project):相当于一个完整网站的大本营,里面包含了整个网站的基本配置和多个子模块。
- 应用(App):是项目里具体的某一块功能,比如“用户登录”、“文章展示”等功能都各自是一个 App。
举个例子:假设你是开一家超市的老板(整个 Django 项目就是你超市),那么:
- “收银台”是一个 App;
- “库存管理”是另一个 App;
- “顾客会员系统”又是一个 App;
- 所有这些东西都在你这家超市(Project)里。
💡 一个项目可以包含多个 App,但一个 App 只属于一个项目。
2. 模型(Model)
模型就像是网站里的“数据库表格”。
比如你要做一个博客网站,每一篇博客文章都需要一些信息:
- 标题
- 内容
- 发布时间
- 是否发布状态
这些信息就可以通过模型定义为一张叫做 Post 的“虚拟表格”。
Django 会帮你在背后创建真正的数据库表,你只需要写简单的 Python 类!
3. 视图(View)
视图相当于“控制中心”。当你访问一个网页的时候,Django 会调用一个对应的视图函数,然后根据它的逻辑决定该显示什么内容。
比如你在浏览器中访问 /hello/,Django 就会调用我们写的 hello_view() 这个函数,然后返回一段 HTML 页面。
4. 路由(URL)
路由就相当于网站页面的“导航地图”。
你可以理解为每一个 URL 地址(比如 http://example.com/about)对应了一个视图函数,告诉 Django:“用户访问这个网址时该执行哪段代码”。
5. 模板(Template)
模板就是网页的“外壳”,它长得像 HTML 文件,但是可以嵌入变量和动态内容。
比如你可以写一个叫 post_list.html 的文件,专门用来显示所有博客文章列表。
实战项目:一步步创建你的第一个网站
现在我们来实战一下吧!我们将用 Django 创建一个非常简单的博客网站,名字就叫 HelloBlog 😊
第一步:创建项目 HelloBlog
打开终端(或者命令提示符),运行下面这句命令:
django-admin startproject HelloBlog
这会创建一个名为 HelloBlog 的文件夹,里面有如下结构:
HelloBlog/
├── manage.py # 项目的管理脚本
└── HelloBlog/ # 项目配置文件目录
├── __init__.py # 标识这是一个包
├── settings.py # 项目设置
├── urls.py # 项目的总路由配置
└── wsgi.py # 服务器部署接口
进入项目根目录:
cd HelloBlog
启动内建服务器看看效果:
python manage.py runserver
你会看到如下输出:
Starting development server at http://127.0.0.1:8000/
Quit the server with CTRL-BREAK.
打开浏览器访问:http://127.0.0.1:8000/
你会看到熟悉的 Django 欢迎界面 🎉
按 Ctrl + C 停止服务器。
第二步:创建我们的博客应用 blog
在项目根目录下运行以下命令:
python manage.py startapp blog
这会在项目中生成一个新的文件夹:blog/,里面有很多默认生成的文件。
我们要把这个新的应用注册到项目中。打开 HelloBlog/settings.py,找到这一块:
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
]

添加 'blog', 到最后,变成:
INSTALLED_APPS = [
...
'blog',
]
✅ 应用注册完毕!
第三步:创建博客文章的数据结构(模型)
编辑 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) # 创建时间
published = models.BooleanField(default=True) # 是否发布
def __str__(self):
return self.title
这段代码的意思就是:我们定义了一个叫 Post 的数据模型,它代表一篇博客文章。
保存后,在命令行运行以下两个命令来创建数据库表:
python manage.py makemigrations
python manage.py migrate
🎉 数据库建好了!
第四步:创建管理员账户(方便后面管理)
运行以下命令创建超级管理员账户:
python manage.py createsuperuser
会让你输入用户名、邮箱和密码(记下来哦~)
接着运行服务:
python manage.py runserver
访问 http://127.0.0.1:8000/admin,用你刚创建的账号登录进去 👀
这时候还没有看到 Blog 的内容,我们需要注册一下模型到后台。
编辑 blog/admin.py,替换为:
from django.contrib import admin
from .models import Post
admin.site.register(Post)
刷新后台页面,应该就能看到 Post 模块了!试着添加一篇新文章试试看吧 📝
第五步:展示文章内容(视图 + 模板)
我们现在想让访客能在首页看到所有发布的文章。
首先,编辑 blog/views.py,写入以下内容:
from django.shortcuts import render
from .models import Post
def post_list(request):
posts = Post.objects.filter(published=True).order_by('-created_at')
return render(request, 'blog/post_list.html', {'posts': posts})
这表示我们从数据库取出所有已发布的文章,并按创建时间倒序排列,然后把结果传给模板文件 post_list.html。
现在我们要创建模板文件:
在 blog 目录下新建一个文件夹:
mkdir templates
mkdir templates/blog
然后新建文件 templates/blog/post_list.html,内容如下:
<!DOCTYPE html>
<html>
<head>
<title>我的博客</title>
</head>
<body>
<h1>欢迎来到我的博客!</h1>
{% for post in posts %}
<div style="margin-bottom: 20px;">
<h2>{{ post.title }}</h2>
<p>{{ post.content|truncatewords:50 }}</p>
<small>{{ post.created_at }}</small>
</div>
{% empty %}
<p>暂时还没有文章哦~</p>
{% endfor %}
</body>
</html>
这个 HTML 页面中使用了 Django 模板语法,比如 {% for %} 和 {{ variable }},它们的作用是动态插入内容。
第六步:配置路由
现在要让访问某个 URL 时显示上面的文章列表页。
编辑主项目的路由配置文件 HelloBlog/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'), # 添加这一行
]
现在重启服务器:
python manage.py runserver
访问 http://127.0.0.1:8000/,你应该会看到刚才添加的文章列表了!
🎉 恭喜你,你已经完成了一个完整的博客网站雏形!
常见问题解答
Q1:为什么访问网页出现 TemplateDoesNotExist 错误?
这个问题通常是因为模板路径不对。确保你创建的模板文件路径如下:
blog/templates/blog/post_list.html
而且你没有忘记注册 App 或者拼写错误。
Q2:为什么新增的文章不显示?
可能因为你没有勾选“published(是否发布)”选项。检查一下你添加文章时是否选择了 Published 为 True。
Q3:Django 启动时报错 "port 8000 is already in use"
这是因为之前的服务器还在运行。关闭终端窗口或使用 Ctrl + C 停止即可,也可以指定其他端口启动:
python manage.py runserver 8001
Q4:manage.py 是干什么的?
它是 Django 提供的一个命令行工具,用于执行各种管理操作,比如启动服务、迁移数据库、创建管理员等等。
学习建议:下一步学习方向推荐
恭喜你完成了第一个 Django 项目!接下来你可以继续学习这些内容:
✅ 推荐学习顺序:
- 深入学习模型:学会如何建立复杂的关系(一对多、多对多等)
- 表单处理:让用户能够提交数据,如评论留言、发表文章
- 模板继承:复用头部、底部等公共结构,避免重复代码
- 静态资源管理:引入 CSS、JavaScript 和图片资源美化网站
- 分页功能:当文章很多时,实现翻页功能
- 用户认证:注册、登录、权限控制
- 使用 Bootstrap 美化页面
- 部署上线:将网站上传到网上让别人也能访问
📚 推荐学习资源:
- 官方文档:https://docs.djangoproject.com/zh-hans/
- 《Django Girls 教程》中文版(适合零基础)
- B站搜索 “Django入门” 有很多高质量视频
- 本书推荐:《流畅的Python》+《Django企业开发实战》
结语:坚持就是胜利!
Django 是一个强大又易于上手的框架,只要你动手实践,慢慢就会爱上它。记住一句话:
编程不是天才的专利,而是勤学苦练的结果!
别担心一开始犯错,只要每天进步一点点,不久之后你就能做出自己的个人博客、电商平台、管理系统等等。
如果你喜欢这篇教程,请点赞分享支持我继续创作更多新手友好的技术文章。我们下次再见啦!👋

评论 0