Django入门教程:搭建你的第一个Python网站

一个会部署的人
2025-06-13 17:21
阅读 212

开篇:Django是什么?我能用它做什么?

开篇:Django是什么?我能用它做什么?

你好!欢迎来到本篇《Django入门教程:搭建你的第一个Python网站》。如果你是第一次接触后端开发、Web开发或者Python编程,那么恭喜你——你选对了技术栈!

Django 是什么?

简单来说,Django是一个基于 Python 的 Web 框架(web framework),它可以帮助我们快速构建功能强大的网站和应用。你可以把它想象成一个“盖房子的脚手架”——你只需要专注设计和装修,而底层的结构、水电等基础工程,Django已经帮你建好了。

我可以用 Django 做什么?

  • 构建博客系统
  • 创建企业官网
  • 开发在线商城
  • 实现用户注册登录系统
  • 搭建数据后台管理系统
  • 甚至开发复杂的社交网络平台!

总之,只要你想做网站,Django 都可以帮你做到,而且非常高效。


环境准备:准备好工具箱,开始动手写代码!

环境准备:准备好工具箱,开始动手写代码!

在正式学习之前,我们需要先搭建好开发环境。请不要跳过这一步,否则你会被“安装问题”困扰很久 😅

步骤1:安装 Python

目前推荐使用 Python 3.8 ~ 3.11 版本。Django 目前不支持 Python 2.x,所以请确保你安装的是 Python 3。

Windows 用户安装步骤:

  1. 打开浏览器访问 https://www.python.org/downloads/
  2. 点击 “Download Python for Windows”
  3. 下载后运行安装程序
  4. 注意勾选 “Add to PATH” 选项
  5. 安装完成后,在 CMD 或 PowerShell 中输入:
    python --version
    pip --version
    
    出现版本号即表示安装成功。

Mac/Linux 用户:

大部分 Mac 和 Linux 已经预装了 Python,但建议升级到最新稳定版:

python3 --version
pip3 --version

如果没有安装 Python,可以通过 Homebrew(Mac)或 apt-get(Linux)进行安装。


步骤2:创建虚拟环境(Virtual Environment)

为了避免 Python 包之间的冲突,我们通常会使用虚拟环境来隔离每个项目的依赖库。

运行以下命令来创建虚拟环境:

python -m venv myenv

然后激活它:

  • Windows 上:

    myenv\Scripts\activate
    
  • Mac/Linux 上:

    source myenv/bin/activate
    

激活后,命令行前会出现 (myenv) 字样,表示你现在处于这个独立的环境中。


步骤3:安装 Django

进入虚拟环境后,我们用 pip 来安装 Django:

pip install django

等待安装完成后,执行以下命令检查是否安装成功:

django-admin --version

如果出现类似 4.2.6 这样的版本号,说明你已经成功安装了 Django!


小结:环境准备清单

步骤 内容
1 安装 Python(3.8 及以上)
2 创建并激活虚拟环境
3 使用 pip 安装 Django

核心概念:理解关键术语,迈出第一步

核心概念:理解关键术语,迈出第一步

在深入实战前,我们先了解几个关键术语,这样你在后续操作中就不会一头雾水啦!


1. 项目 vs 应用(Project vs App)

  • Project(项目):整个网站的大框架,比如你正在做一个博客网站,整个站点就是一个 Project。
  • App(应用):一个具体的功能模块,比如博客文章管理、用户注册、评论系统都可以作为单独的 App。

💡 举个例子:

如果你要建一个图书馆管理系统,那么整个系统是一个 Project,里面包含三个 App:“图书管理”、“借阅记录”、“用户账号”。


2. MTV 模式(Model - Template - View)

Django 使用的是 MTV 设计模式,它是 MVC 模式的一个变种,特别适合网页开发。

层级 职责 对应文件
Model(模型) 处理数据存储与数据库交互 models.py
Template(模板) 控制网页的显示样式 templates/ 文件夹中的 .html 文件
View(视图) 处理业务逻辑,连接 Model 和 Template views.py

💡 通俗解释:

  • View(视图) 就像一个导演,告诉网站“该展示什么内容”;
  • Template(模板) 像演员,负责把内容“漂亮地演出来”;
  • Model(模型) 是剧本管理员,负责管理和提供剧情内容(数据)。

3. URL 路由(URL Routing)

URL路由就是告诉 Django:“当用户访问某个地址时,应该调用哪个函数处理请求。”

例如:

  • 当用户访问 /hello/,显示“你好,世界!”
  • 当用户访问 /about/,显示“关于我们”的页面

我们通过 urls.py 文件来配置这些规则。


4. 数据迁移(Migration)

当你定义完数据库模型(model)之后,Django 会根据你写的代码自动生成 SQL,并更新数据库表结构。这一过程叫做 迁移(migration)

常用命令有:

python manage.py makemigrations  # 生成迁移文件
python manage.py migrate         # 执行迁移,更新数据库

✅ 图解一下整体流程:

URL 请求 —→ View 处理请求 —→ 读取 Model 数据 —→ 渲染 Template 页面 —→ 返回 HTML 页面给浏览器

实战项目:跟着教程一步步完成你的第一个网站

现在我们终于要亲手搭建一个属于自己的网站啦!我们将从头开始创建一个简单的“Hello, World!”网站,然后再逐步扩展出更多功能。


第一步:创建 Django 项目

我们先来创建一个名为 mysite 的项目:

django-admin startproject mysite

进入项目目录:

cd mysite

此时项目目录结构如下:

mysite/
├── manage.py              # 管理整个项目的命令行工具
└── mysite/
    ├── __init__.py
    ├── settings.py        # 项目配置文件
    ├── urls.py            # URL 配置
    └── wsgi.py

第二步:启动开发服务器

运行以下命令启动本地开发服务器:

python manage.py runserver

打开浏览器访问 http://127.0.0.1:8000,你应该能看到 Django 默认的欢迎页面:

The install worked successfully! Congratulations!

太棒了,我们的服务器已经跑起来了!


第三步:创建一个 App

接下来我们来创建一个名为 hello 的应用:

python manage.py startapp hello

现在你会看到新增了一个 hello/ 目录,里面有以下文件:

hello/
├── admin.py       # 后台管理配置
├── apps.py        # 应用配置
├── migrations/    # 数据库迁移文件
├── models.py      # 数据库模型定义
├── tests.py       # 测试代码
└── views.py       # 视图函数

别急着写代码,我们要先把这个 App 注册到项目中。


第四步:注册 App 到项目中

打开 mysite/settings.py 文件,在 INSTALLED_APPS 列表中添加 'hello',如下所示:

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'hello',  # 新增这一行
]

保存后即可在项目中使用这个 App 了。


第五步:编写一个最简单的页面

打开 hello/views.py 文件,添加一个简单的视图函数:

from django.http import HttpResponse

def index(request):
    return HttpResponse("Hello, World!")

接下来,配置 URL 路由。


第六步:配置 URL 路由

我们需要告诉 Django,“当用户访问 /hello/ 时,去调用 hello.views.index 函数”。

首先,在 hello/ 目录下新建一个 urls.py 文件,写入如下内容:

from django.urls import path
from . import views

urlpatterns = [
    path('', views.index, name='index'),
]

然后,再修改项目的 mysite/urls.py 文件:

from django.urls import include, path

urlpatterns = [
    path('admin/', admin.site.urls),
    path('hello/', include('hello.urls')),  # 添加这一行
]

第七步:再次启动服务器测试效果

再次运行:

python manage.py runserver

访问 http://127.0.0.1:8000/hello/,你会看到:

Hello, World!

🎉 成功啦!这是你用 Django 搭建的第一个网页!


第八步:加入 HTML 页面

下一步,我们来试试更真实的网页渲染方式:用模板引擎来动态生成 HTML 页面。

1. 在 hello 目录下创建 templates 文件夹

项目结构变成:

hello/
├── templates/
│   └── hello/
│       └── index.html

注意:模板文件夹必须嵌套一层,路径格式为 <app_name>/<template_name>.html

2. 编写 index.html 文件:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Hello Page</title>
</head>
<body>
    <h1>{{ message }}</h1>
</body>
</html>

这里我们使用了模板变量 {{ message }},它会在 Python 中被替换为实际值。

3. 修改 views.py:

from django.shortcuts import render

def index(request):
    context = {'message': 'Hello, Django Newbie!'}
    return render(request, 'hello/index.html', context)

重启服务器,刷新页面:

🎉 你会看到页面显示:

Hello, Django Newbie!


总结:实战项目步骤一览

步骤 操作
1 创建项目 mysite
2 启动服务器测试
3 创建应用 hello 并注册
4 编写视图函数
5 配置 URL 路由
6 测试访问
7 添加 HTML 模板
8 使用模板变量

常见问题解答(FAQ)

在学习过程中,你可能会遇到这些问题:


❓ Q1:为什么我的页面一直 404?

常见原因:

  1. URL 配置错误:检查 urls.py 是否正确拼接路径。
  2. 没有重启服务:Django 不自动重载代码,每次修改完要手动重启 runserver
  3. 路径未匹配:确认你访问的 URL 是否符合定义好的 pattern。

❓ Q2:TemplatesDoesNotExist 错误怎么办?

这意味着 Django 找不到你写的模板文件。请检查:

  1. 模板路径是否正确(<app>/templates/<app>/xxx.html
  2. TEMPLATES 设置中是否启用了 APP_DIRS=True
  3. 是否忘记创建目录或文件名拼写错误

❓ Q3:我刚改了代码怎么没反应?

因为 Django 不会自动重载。你需要停止当前运行的服务(按 Ctrl + C),再重新运行:

python manage.py runserver

❓ Q4:如何退出虚拟环境?

输入命令:

deactivate

学习建议:下一步学什么?

恭喜你完成了第一个 Django 网站的搭建!接下来你可以继续深入学习以下内容:


1. 学习 Model(数据库模型)

学会如何用 Django 定义数据模型、操作数据库。

推荐阅读:


2. 学习 Admin 管理后台

Django 自带一个非常好用的后台管理界面,方便快速构建数据管理后台。

推荐阅读:


3. 学习 Forms 表单处理

学会如何接收用户输入,验证数据,提交信息。

推荐阅读:


4. 学习模板继承(Template Inheritance)

避免重复编写 HTML 结构,提高代码复用性。

推荐阅读:


推荐学习路径图

Hello World → Models → Views → Templates → Admin → Static Files → User Auth → Deployment

结语:从今天起,你已经是 Django 新人开发者了!

虽然这只是 Django 的起点,但你已经掌握了创建 Web 站点的核心能力。随着不断练习,你会发现 Django 是一个强大又灵活的工具,能帮助你快速实现各种想法。

如果你喜欢这篇教程,请点赞、收藏或分享给更多需要的人。也欢迎关注后续的进阶系列教程,我会持续为你输出实用的 Django 教程内容。

有问题欢迎在评论区留言或私信我,我们一起成长 💪

Happy Coding!👋

评论 0

最热最新
暂无评论
匿名用户Lv.1
0
影响力
0
文章
0
粉丝