零基础也能学会:用 Django 搭建你的第一个 Python 网站

霸气_导师
2025-12-24 20:29
阅读 507

大家好!我是小林,一名 211 高校的计算机专业研究生,也是一名技术博客作者。最近有好几个学弟学妹问我:“学 Python 之后能做什么?”、“怎么用 Python 做网站?”——这让我想起自己刚入门时的迷茫。于是,我决定写一篇真正面向零基础朋友的 Django 入门教程。

Django 是一个用 Python 编写的 Web 框架,简单说,它能帮你快速搭建功能完整的网站,而不用从零开始造轮子。我当初学的时候,光是配置环境就折腾了一天,后来才发现,其实只要几步就能跑起来!今天,我就手把手带你走一遍,保证你跟着做,30 分钟内就能看到自己的第一个网页。


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

你可能会听说 Go(Golang)也是一个流行的后端语言。没错,Go 性能高、并发强,适合大型系统。但如果你是完全零基础的新手,我强烈建议你先从 Django 开始。

对比项 Django (Python) Go (Gin/Echo 等框架)
学习曲线 平缓,语法接近自然语言 较陡,需理解指针、并发等概念
开发速度 极快,自带大量功能 需手动实现较多基础功能
适合人群 初学者、快速原型开发 有编程基础、追求高性能场景
社区资源 中文文档丰富,教程多 中文资料相对较少

我的开发心得是:先学会“做出来”,再追求“做得好”。Django 能让你快速获得成就感,这是坚持学习的关键!


第一步:搭建开发环境

别担心,这比你想象的简单。我们只需要三样东西:

  1. Python 3.8 或更高版本
  2. pip(Python 的包管理工具)
  3. 一个代码编辑器(推荐 VS Code)

检查 Python 是否安装

打开终端(Windows 用 CMD 或 PowerShell,Mac/Linux 用 Terminal),输入:

python --version
# 或者
python3 --version

如果显示类似 Python 3.10.12,说明已安装。如果没有,请去 python.org 下载安装,并务必勾选“Add to PATH”(Windows 用户特别注意!)。

安装 Django

在终端中运行:

pip install django

安装完成后,验证是否成功:

django-admin --version

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

💡 避坑指南:建议使用虚拟环境(virtual environment),避免包冲突。但为了简化,本教程暂不引入,后续你可以搜索 python venv 自行了解。


第二步:理解 Django 的核心概念(用大白话)

Django 遵循 MVT 模式(Model-View-Template),听起来很玄,其实很简单:

  • Model(模型):和数据库打交道的部分。比如用户信息、文章内容,都存在这里。
  • View(视图):处理逻辑的地方。比如“当用户访问首页时,返回什么内容”。
  • Template(模板):网页的“样子”。就是 HTML 文件,可以嵌入动态数据。

你可以这样记:

用户请求 → View 处理 → 从 Model 取数据 → 渲染 Template → 返回网页

另外,Django 还有一个重要概念:项目(Project) vs 应用(App)

  • 一个 项目 是整个网站(比如“我的博客系统”)
  • 一个 应用 是项目中的一个功能模块(比如“用户登录”、“文章发布”)

就像一辆汽车(项目)由引擎、轮胎、座椅(应用)组成。


第三步:动手!创建你的第一个网站

我们现在要做的,是一个极简的“欢迎页面”:用户访问网址,看到 “Hello, Django!”。

1. 创建项目

在终端中,进入你想存放代码的文件夹(比如桌面),运行:

django-admin startproject mysite

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

2. 启动开发服务器

进入项目目录并启动:

cd mysite
python manage.py runserver

你会看到类似这样的输出:

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

打开浏览器,访问 http://127.0.0.1:8000/ —— 看到火箭图标了吗?恭喜!你的 Django 项目已经跑起来了!

⚠️ 注意:这个服务器仅用于开发,不能用于生产环境。

3. 创建一个应用

现在我们要添加自定义页面。先创建一个应用:

python manage.py startapp hello

这会在项目根目录下生成 hello 文件夹。

4. 注册应用

Django 不会自动识别新应用,需要手动注册。打开 mysite/settings.py,找到 INSTALLED_APPS,在列表里加上 'hello'

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    # ... 其他默认项
    'hello',  # ← 加这一行
]

5. 编写视图(View)

打开 hello/views.py,替换为以下代码:

from django.http import HttpResponse

def home(request):
    return HttpResponse("Hello, Django! 欢迎来到我的第一个网站!")

这段代码的意思是:当有人访问某个路径时,返回一段文字。

6. 配置 URL 路由

现在需要告诉 Django:“当用户访问根路径 / 时,调用 home 函数”。

先在 hello 文件夹下新建一个文件 urls.py

from django.urls import path
from . import views

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

然后修改 mysite/urls.py,把请求转发给 hello 应用:

from django.contrib import admin
from django.urls import path, include  # ← 引入 include

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

7. 重新启动服务器,刷新页面!

回到终端,按 Ctrl + C 停止服务器,再运行:

python manage.py runserver

刷新浏览器,你应该看到:

Hello, Django! 欢迎来到我的第一个网站!

🎉 成功了!这就是你亲手搭建的第一个 Python 网站。


新手常遇到的问题 & 解决方案

❓ 问题1:command not found: django-admin

  • 原因:Python 或 pip 没正确安装,或没加入系统 PATH。
  • 解决:重新安装 Python,安装时勾选 “Add to PATH”;或尝试用 python -m django startproject ... 代替 django-admin

❓ 问题2:访问页面显示 404

  • 原因:URL 配置错误,或应用未注册。
  • 检查点
    • settings.py 中是否注册了应用?
    • mysite/urls.py 是否包含了 hello.urls
    • hello/urls.py 中的 path 是否正确?

❓ 问题3:修改代码后页面没变化

  • 原因:Django 开发服务器通常会自动重载,但有时会卡住。
  • 解决:手动停止服务器(Ctrl+C),再重新运行 runserver

❓ 问题4:中文显示乱码?

  • 原因:文件编码问题。
  • 解决:确保 .py 文件保存为 UTF-8 编码(VS Code 默认就是)。

接下来该学什么?我的学习建议

完成这个小项目只是开始!如果你想继续深入,我建议按以下路径走:

  1. 学习模板(Template):把 HttpResponse 改成返回 HTML 文件,实现真正的网页布局。
  2. 尝试 Model:创建一个“留言板”,让用户提交留言并存储到数据库(Django 自带 SQLite,无需额外安装)。
  3. 了解 Django Admin:自动生成后台管理系统,超实用!
  4. 部署上线:用免费平台(如 Render、Vercel + Django)把网站放到互联网上,让朋友也能访问。

我的开发心得:不要试图一次性学会所有东西。先做出一个能跑的小功能,再逐步扩展。每次解决一个小问题,都是进步。


结语:你的 Web 开发之旅,从此开始

看到这里,你已经跨过了最难的第一步。很多人卡在环境配置或概念理解上,但你做到了!

记住,每个大神都是从 Hello World 开始的。Django 的强大之处在于,它既能让你快速上手,又能支撑复杂应用(Instagram、知乎早期都用 Django)。

如果你觉得这篇教程对你有帮助,欢迎点赞收藏,也欢迎在我的博客评论区留言提问。我会持续更新更多 Django 实战教程,比如“用 Django + Bootstrap 做个人博客”、“集成用户登录系统”等。

Go 并不是唯一的选择,Python + Django 同样能带你走进精彩的 Web 世界。现在,轮到你动手了!

作者:小林|211 计算机研二|专注写新手友好的技术教程
下期预告:《Django 模板入门:让你的网站不再只有文字》

评论 0

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