从零开始,用Django搭建你的第一个Python网站

后端Data
2026-05-07 10:37
阅读 230

大家好,我是一名工作5年的后端开发工程师。这几年带过不少实习生,也给公司新同事做过内部培训。我发现很多初学者在接触 Web 开发时,最容易卡在“第一步”——不是技术太难,而是不知道从哪开始、怎么搭环境、怎么跑起来。

我自己刚开始学后端的时候,也踩过无数坑。比如照着教程敲代码,结果因为 Python 版本不对直接报错;又比如装了 Django 却不知道怎么启动服务器。所以今天,我想写一篇真正“手把手”的 Django 入门教程,让你哪怕完全没碰过编程,也能在30分钟内看到自己的网站跑起来。

顺便说一句:别被标题里的“网站”吓到。我们做的不是淘宝也不是微信,而是一个能显示“Hello, World!”的简单页面——但这是你迈向真实后端开发的第一步。

📌 关键词提前说明

  • 后端:指网站中用户看不见的部分,比如处理登录、保存数据、返回网页内容。
  • Function Calling:函数调用,是编程中最基础的操作之一,后面我们会频繁用到。
  • Java:本文不教 Java,但会对比说明为什么初学者更适合从 Python + Django 开始。
  • Moltbot:这不是 Django 的一部分!可能是你看到的某个工具名,但本教程不涉及,放心往下看。

为什么选 Django?而不是 Java 或其他?

很多新人一上来就问:“我该学 Java 还是 Python?” 我的回答通常是:如果你想快速做出一个能跑的网站,选 Python + Django。

技术栈 学习曲线 开发速度 适合场景
Java (Spring) 较陡 中等 大型企业系统、高并发
Python (Django) 平缓 极快 快速原型、中小型项目
Node.js 中等 实时应用、API 服务

Java 虽然强大,但光是配置 Maven、Tomcat、Spring Boot 就能让新手崩溃。而 Django 自带“电池”(即内置功能),开箱即用,一行命令就能启动服务器。

我当初学后端时,先用 Django 做了三个小项目,才敢碰 Java。先建立信心,再挑战复杂,是更高效的学习路径。


第一步:搭建开发环境(别跳过!)

1. 安装 Python

Django 是基于 Python 的,所以首先要装 Python。建议使用 Python 3.8 或更高版本

  • Windows 用户:去 python.org 下载安装包,记得勾选 “Add to PATH”
  • Mac 用户:推荐用 Homebrew:brew install python
  • Linux 用户:一般自带 Python 3,用 python3 --version 检查

✅ 验证安装:

python --version
# 或
python3 --version

如果显示类似 Python 3.10.12,说明成功。

💡 避坑提示:不要用 Python 2!它已经在 2020 年停止维护了。

2. 创建虚拟环境(强烈推荐!)

虚拟环境就像一个“独立沙盒”,避免不同项目的依赖互相打架。

# 创建名为 mysite_env 的虚拟环境
python -m venv mysite_env

# 激活虚拟环境
# Windows:
mysite_env\Scripts\activate
# Mac/Linux:
source mysite_env/bin/activate

激活后,命令行前面会出现 (mysite_env),说明你现在在这个沙盒里。

3. 安装 Django

在虚拟环境中执行:

pip install django

✅ 验证安装:

django-admin --version

如果显示版本号(如 4.2.7),恭喜你,环境准备完成!


核心概念:Django 是怎么工作的?

Django 遵循 MTV 模式(Model-Template-View),你可以理解为:

  • Model(模型):和数据库打交道,定义数据长什么样(比如“用户有用户名和邮箱”)
  • Template(模板):网页的 HTML 文件,负责展示内容
  • View(视图):连接 Model 和 Template 的“中间人”,处理逻辑

整个流程像这样:

用户访问网址 → Django 找到对应的 View → View 调用 Model 获取数据 → View 渲染 Template → 返回网页给用户

而这个“找到对应 View”的过程,靠的是 URL 路由

🔍 Function Calling 是什么?
在 View 中,你会写函数(比如 def home(request):),当用户访问某个 URL 时,Django 会自动“调用”这个函数——这就是 Function Calling。它是后端响应请求的核心机制。


实战:创建你的第一个 Django 网站

我们来做一个最简单的“欢迎页”。

步骤 1:创建项目

在终端执行(确保虚拟环境已激活):

django-admin startproject mysite

这会生成一个叫 mysite 的文件夹,里面是项目骨架。

目录结构如下:

mysite/
├── manage.py          # 管理脚本(启动、迁移等)
└── mysite/
    ├── __init__.py
    ├── settings.py    # 配置文件(数据库、时区等)
    ├── urls.py        # 主路由文件
    └── wsgi.py        # 部署用(暂时不用管)

步骤 2:启动开发服务器

进入项目目录:

cd mysite

启动服务器:

python manage.py runserver

你会看到:

Starting development server at http://127.0.0.1:8000/

打开浏览器,访问 http://127.0.0.1:8000,看到火箭图标和“It worked!”页面——恭喜!你的 Django 网站已经跑起来了!

⚠️ 注意:这个服务器只用于开发,不能用于上线!

步骤 3:创建一个应用(App)

Django 项目由多个“应用”组成。比如一个博客网站可能有 blogusercomment 等应用。

我们创建一个叫 pages 的应用:

python manage.py startapp pages

现在目录多了一个 pages/ 文件夹,里面有:

  • views.py:写业务逻辑的地方
  • models.py:定义数据模型
  • apps.py:应用配置

步骤 4:编写第一个 View(函数调用来了!)

打开 pages/views.py,输入:

from django.http import HttpResponse

def home(request):
    return HttpResponse("Hello, Django! 你的第一个网站上线啦!")

这个 home 函数就是一个 View 函数。当用户访问某个 URL 时,Django 会调用它,并把用户的请求(request)传进去。

步骤 5:配置 URL 路由

现在需要告诉 Django:“当用户访问首页时,调用 pages.views.home”。

有两种方式:

方法 A:直接在主路由中配置(适合简单项目)

编辑 mysite/urls.py

from django.contrib import admin
from django.urls import path
from pages import views  # 导入我们的视图

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', views.home, name='home'),  # 空字符串代表根路径 /
]

方法 B:应用级路由(推荐,便于模块化)

  1. pages/ 目录下新建 urls.py
from django.urls import path
from . import views

urlpatterns = [
    path('', views.home, name='home'),
]
  1. 修改主路由 mysite/urls.py
from django.contrib import admin
from django.urls import path, include

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', include('pages.urls')),  # 包含 pages 应用的路由
]

推荐用方法 B!以后每个应用都有自己的 urls.py,项目结构更清晰。

步骤 6:注册应用

Django 不会自动加载你创建的应用,需要手动注册。

打开 mysite/settings.py,找到 INSTALLED_APPS,添加 'pages'

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    # ... 其他默认项
    'pages',  # <-- 加在这里
]

步骤 7:刷新页面!

回到浏览器,刷新 http://127.0.0.1:8000,你应该看到:

Hello, Django! 你的第一个网站上线啦!

🎉 成功!你刚刚完成了:

  • 创建项目
  • 编写 View 函数(Function Calling)
  • 配置 URL 路由
  • 注册应用

这就是一个最简后端服务的完整闭环。


新手常见问题 & 解决方案

Q1:为什么访问页面报 404?

可能原因:

  • URL 配置错误(检查 urls.py 是否包含路径)
  • 应用未注册(检查 settings.pyINSTALLED_APPS
  • 函数名拼写错误(Python 区分大小写!)

✅ 解决:对照上面步骤逐一检查。

Q2:修改代码后页面没变化?

Django 开发服务器会自动重载,但有时会卡住。

✅ 解决:按 Ctrl + C 停止服务器,重新运行 python manage.py runserver

Q3:能不能用中文?

可以!但要设置时区和语言。

settings.py 中修改:

LANGUAGE_CODE = 'zh-hans'
TIME_ZONE = 'Asia/Shanghai'

Q4:为什么不用 Moltbot?

Moltbot 并不是 Django 生态的标准工具。可能是某些公司内部的脚手架或自动化工具。作为初学者,先掌握原生 Django 更重要。等你熟悉后再接触这些增强工具也不迟。


下一步学习建议

你已经迈出了关键一步!接下来可以:

  1. 学习 Template(模板)
    HttpResponse 换成真正的 HTML 页面。Django 有强大的模板引擎,支持变量、循环、继承。

  2. 尝试 Model(模型)
    models.py 定义数据,配合 SQLite(Django 默认数据库)存取信息。

  3. 了解 Admin 后台
    Django 自带一个超好用的管理后台,只需几行代码就能管理数据。

  4. 部署到线上
    推荐用 RenderRailway,免费且简单。

📚 我的学习路径建议
先做三个小项目:

  • 个人博客(练 Model + Template)
  • 待办事项列表(练表单 + 数据库)
  • 简易论坛(练用户认证 + 关系模型)
    每个项目都从零搭建,不要直接抄代码!

结语:后端没那么可怕

很多人觉得“后端”很高深,动不动就要懂分布式、高并发。但其实,所有复杂的系统,都是从一个简单的函数调用开始的

你今天写的 def home(request):,和支付宝处理支付的函数,在本质上是一样的——都是接收请求、处理逻辑、返回结果。

我当初就是从这样一个“Hello World”开始,一步步走到今天的。希望这篇教程能帮你跨过最初的门槛。

记住:写代码不怕慢,就怕不动手。现在就去终端敲下 django-admin startproject 吧!

如果你觉得这篇文章对你有帮助,欢迎分享给同样想学后端的朋友。有问题也可以留言,我会尽力解答。

评论 0

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