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

你是否想过自己动手做一个网站?现在,我们就要用 Django 这个强大的工具来实现这个目标。
Django 是一个使用 Python 编写的 Web开发框架。它的核心思想是帮助开发者快速、高效地构建安全又功能强大的网站。
简单理解一下什么是“框架”:它就像建房子用的脚手架——你可以直接在上面添加“砖瓦”,而不是从头搭架子。
Django 特别适合用来开发包含数据库的网站,比如博客、论坛、电商平台等。它有很多内置功能,比如用户认证系统、后台管理界面、数据库操作工具等等,这些都可以让我们少写很多重复代码,把精力集中在真正的业务逻辑上。
环境准备:搭建开发环境(Windows / macOS / Linux通用)


1. 安装 Python(建议版本:3.9 或以上)
首先确保你的电脑已经安装了 Python。
- 打开终端或命令行,输入以下命令:
python --version
如果你看到类似 Python 3.x.x 的输出,则说明已经安装好了;否则,请前往 https://www.python.org/downloads/ 下载并安装对应系统的最新稳定版 Python。
⚠️ 小贴士:有些系统默认命令可能是
python3,而 Windows 有时也叫py,注意区分。
2. 安装 Django
使用 Python 自带的包管理工具 pip 来安装 Django:
pip install django
安装完成后检查是否成功:
django-admin --version
你应该会看到一个版本号,例如 4.2.5,表示安装成功。
3. 创建项目目录
为你的第一个网站创建一个专属文件夹,这里我们命名为 my_first_website:
mkdir my_first_website
cd my_first_website
核心概念:Django 中的关键组件有哪些?
虽然这是入门教程,但我们要先了解几个核心组件,这样后面实践时就不会迷路啦!
1. 项目(Project)和应用(App)
- 项目:是一个总的容器,里面可以包含多个功能模块(App),比如博客模块、用户登录模块。
- 应用:指的是某个具体的功能块。例如一个商城项目里可能有商品展示 App、订单管理 App、会员中心 App。
我们可以用一句话记住它们的关系:一个项目由多个应用组成。
2. 模型(Model)、视图(View)、模板(Template) - MVC 结构简化版
Django 使用的是一种叫做 MVT 的架构模式,跟经典的 MVC 很像:
| 组件 | 作用 | 对应代码文件 |
|---|---|---|
| Model(模型) | 负责数据相关的定义 | models.py |
| View(视图) | 控制器角色,处理请求返回响应 | views.py |
| Template(模板) | 展示页面的样子 | html 文件 |
简单来说:
- Model:告诉你网站要保存哪些数据;
- View:决定访问某条链接时显示什么内容;
- Template:就是网页的 HTML 页面模板。
3. 管理后台(Admin Site)
Django 自带一个超级好用的管理后台,只需注册模型后就可以对数据进行增删改查,完全不用自己写界面。我们后面实战中会亲自体验一下。
实战项目:一步步创建属于你的第一个 Django 网站
现在我们来正式开始搭建网站。我们将做一个非常简单的个人博客首页。
步骤一:创建项目
我们已经在前面进入过 my_first_website 目录,现在执行下面这条命令来创建整个项目的结构:
django-admin startproject config .
这会在当前目录下生成如下结构:
my_first_website/
├── manage.py # 项目的总控制脚本
└── config/
├── __init__.py
├── settings.py # 项目配置文件
├── urls.py # 整体网址路由配置
└── wsgi.py # 部署相关文件(暂时不需要关心)
其中最重要的文件是 settings.py 和 urls.py。
步骤二:运行开发服务器看看效果
运行下面的命令启动开发服务器:
python manage.py runserver
你会看到类似如下的信息:
Starting development server at http://127.0.0.1:8000/
现在打开浏览器访问该地址:http://127.0.0.1:8000/,你能看到一个 Django 默认欢迎页,说明你的项目运行起来了 ✅
步骤三:创建第一个应用 blog
接下来我们创建一个名字叫 blog 的应用:
python manage.py startapp blog
这时项目目录变成这样:
my_first_website/
│
├── manage.py
├── config/
│ ├── ...
│
└── blog/ # 新建的博客应用
├── migrations/
├── __init__.py
├── admin.py
├── apps.py
├── models.py
├── tests.py
└── views.py
步骤四:让 Django 认识新的应用
打开 config/settings.py 文件,在 INSTALLED_APPS 列表中添加 'blog':
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
# 我们自己的 app
'blog',
]

步骤五:写第一个页面 —— 博客首页
我们要实现的功能很简单:访问 /blog 时显示一句话 “欢迎来到我的博客!”
第一步:编辑 blog/views.py 文件
from django.http import HttpResponse
def index(request):
return HttpResponse("欢迎来到我的博客!")
这个函数接收一个请求(request),然后返回一个字符串作为响应(response)。
第二步:将 URL 与这个函数关联起来
我们需要创建一个 urls.py 文件来告诉 Django 哪个网址调用哪个视图函数。
在 blog 应用目录下新建一个文件:urls.py,并添加如下内容:
from django.urls import path
from . import views
urlpatterns = [
path('', views.index, name='index'),
]
这里的空字符串 ' ' 表示根路径(也就是 /blog 后不加其他字符)。
第三步:主项目的 urls.py 也要设置路由
打开 config/urls.py,修改如下:
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('admin/', admin.site.urls),
path('blog/', include('blog.urls')), # 添加这一句
]
这相当于告诉 Django:当用户访问 /blog/ 这个地址时,去 blog 应用的 urls.py 中找下一步怎么处理。
第四步:重启服务测试
停止当前服务按 Ctrl+C,重新运行:
python manage.py runserver
访问:http://127.0.0.1:8000/blog/
如果看到这句话:欢迎来到我的博客!,那恭喜你完成了第一个 Django 页面 😄
步骤六:添加一个 HTML 模板页面
现在我们要把之前的纯文本改成更美观的网页形式,这就需要使用 模板(Template)。
第一步:创建 templates 目录
Django 规定所有 HTML 模板统一放在一个叫 templates 的目录下。一般我们会放在每个应用自己的文件夹里。
在 blog 应用下创建文件夹结构如下:
blog/
├── templates/
│ └── blog/
│ └── index.html
然后在 index.html 里添加一些 HTML 内容:
<!DOCTYPE html>
<html>
<head>
<title>我的第一个博客</title>
</head>
<body>
<h1>欢迎来到我的博客</h1>
<p>这是一个使用 Django 构建的超简单博客首页。</p>
</body>
</html>
第二步:修改视图文件 blog/views.py
用 render() 方法替换之前那个 HttpResponse(),代码如下:
from django.shortcuts import render
def index(request):
return render(request, 'blog/index.html')
现在刷新刚才的网页,你会发现页面变成了 HTML 页面 🎉
常见问题解答
以下是新手常见的几个疑问👇
Q1:为什么我运行不了 Django?
- 可能原因:
- Python 没有正确安装
- pip 没有安装 Django(可尝试执行
pip install django) - 拼写错误导致找不到命令,比如
manage.py没有放对位置
Q2:报错 “TemplateDoesNotExist” 怎么办?
- 最常见的问题是模板路径不对。请按照目录规范存放
index.html,确保是这样的结构:
blog/templates/blog/index.html
- 检查是否漏写了
'DIRS': [os.path.join(BASE_DIR, 'templates')]在 settings.py 里(虽然默认支持各 app 的 templates 文件夹,但如果想集中放也可以设置全局 templates)
Q3:无法访问本地服务器怎么办?
- 检查端口是否被占用
- 是否启用了防火墙导致限制访问
- 如果你是在云服务器上操作,记得开放相应端口(如 8000)
学习建议:下一步学什么?
当你掌握了上面的基础知识后,恭喜你迈出了重要一步!接下来推荐学习内容:
- 数据库与模型(Models):掌握如何设计文章模型、作者模型,并连接 SQLite 数据库。
- 管理后台(Admin):学会注册模型并自动生成后台 CRUD 页面。
- 静态资源管理(CSS / JS / 图片)
- 进阶页面跳转、URL 设计技巧
- 部署上线(Nginx + Gunicorn)
Django 是一个非常适合入门且功能丰富的后端开发框架。坚持练习小项目,比如博客、电商、问卷调查系统等,你就离成为 Python Web 开发者不远了!
小结
通过本文的学习,你现在应该已经:
✅ 理解 Django 是什么以及它用来做什么
✅ 成功搭建了开发环境
✅ 创建了自己的第一个项目并运行了服务器
✅ 实现了一个简单的网页并通过模板渲染出来
只要跟着本文一步步操作,即使是零基础的同学也能完成这个小项目 💪。继续努力吧,前方还有更有趣的世界等着你去探索!

评论 0