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

需求别再变
2025-12-18 20:11
阅读 2595

大家好,我是B站的一名技术UP主,同时也是某大厂的后端开发工程师。过去三年里,我用Django做过不少项目,从内部管理系统到对外API服务,它一直是我的主力框架之一。

为什么我要写这篇教程?

因为我自己当初学Django的时候,踩过太多坑了!文档看起来很全,但对零基础的新手来说,很多概念像“视图”、“模型”、“URL路由”这些词,根本不知道它们在说什么。所以今天,我想用最简单的方式,带你从零开始,亲手搭出一个能跑起来的Python网站。

💡 一句话理解Django:
Django 是一个用 Python 写的“网站快速开发工具包”。它帮你把重复、繁琐的工作(比如用户登录、数据库操作)都封装好了,你只需要专注写自己的业务逻辑。


一、准备工作:装好你的“工具箱”

在开始写代码前,我们需要先准备好开发环境。就像盖房子要先有砖头和水泥一样,写网站也需要一套合适的工具。

1. 安装 Python

Django 是基于 Python 的,所以第一步是安装 Python。

  • 推荐版本:Python 3.8 ~ 3.12(目前主流版本)
  • 检查是否已安装:打开终端(Windows 按 Win+R 输入 cmd,Mac/Linux 打开 Terminal),输入:
    python --version
    
    如果显示类似 Python 3.10.12,说明已经装好了。如果没有,请去 https://www.python.org/downloads/ 下载安装。

✅ 小贴士:安装时记得勾选 “Add Python to PATH”,否则后面命令会报错!

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

虚拟环境就像一个“独立的沙盒”,让你的项目依赖不会和其他项目冲突。

# 创建一个叫 mysite 的虚拟环境
python -m venv mysite

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

激活后,命令行前面会出现 (mysite),说明你已经进入这个独立环境了。

3. 安装 Django

在虚拟环境中执行:

pip install django

安装完成后,验证一下:

django-admin --version

如果看到版本号(比如 4.2.7),恭喜你,Django 已就位!

⚠️ 避坑指南:不要全局安装 Django!一定要在虚拟环境中安装,避免版本混乱。


二、核心概念:Django 到底是怎么工作的?

别被“框架”这个词吓到。你可以把 Django 想象成一个“自动化的餐厅”:

角色 对应 Django 组件 作用
顾客点单 用户浏览器请求 发起访问(比如打开首页)
菜单 URL 配置 告诉系统哪个网址对应什么功能
厨师 视图(View) 处理请求,决定返回什么内容
食材仓库 模型(Model) 存储和管理数据(比如用户信息)
上菜盘子 模板(Template) 把内容渲染成 HTML 网页

现在,我们重点理解三个最基础的概念:

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

  • 项目(Project):整个网站的容器,包含配置文件、多个应用等。
  • 应用(App):网站的一个功能模块。比如一个博客网站可能有 blog 应用(发文章)、accounts 应用(用户登录)。

🌰 我当初学的时候总搞混这两个概念。记住:一个项目可以包含多个应用,但一个应用通常只做一件事。

2. MTV 架构(Django 版 MVC)

Django 采用 MTV 模式:

  • M(Model):数据结构,和数据库打交道
  • T(Template):网页模板,负责展示
  • V(View):逻辑处理,连接 M 和 T

这比传统的 MVC 更清晰,尤其适合 Web 开发。


三、实战:5分钟创建你的第一个网站!

现在,让我们动手做一个最简单的“Hello World”网站。

步骤 1:创建 Django 项目

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

django-admin startproject mysite .

注意最后有个 .,表示在当前目录创建,避免多一层文件夹。

你会看到生成了这些文件:

mysite/
    manage.py
    mysite/
        __init__.py
        settings.py    ← 项目配置
        urls.py        ← 主路由文件
        asgi.py
        wsgi.py

步骤 2:启动开发服务器

python manage.py runserver

看到 Starting development server at http://127.0.0.1:8000/ 就成功了!

打开浏览器,访问 http://127.0.0.1:8000,你会看到经典的 Django 火箭页面 🚀。

🔒 安全提示:这个服务器只用于开发!不要用它部署上线。

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

我们要做一个“欢迎页面”,所以新建一个叫 home 的应用:

python manage.py startapp home

生成的 home/ 目录结构:

home/
    migrations/
    __init__.py
    admin.py
    apps.py
    models.py   ← 数据模型
    tests.py
    views.py    ← 视图逻辑(重点!)

步骤 4:编写视图(View)

打开 home/views.py,改成:

from django.http import HttpResponse

def welcome(request):
    return HttpResponse("Hello, 这是我的第一个 Django 网站!")

这个函数的意思是:当有人访问某个网址时,返回一段文字。

步骤 5:配置 URL 路由

现在要把网址 /(首页)指向这个 welcome 函数。

第一步:在 home/ 目录下新建 urls.py:

from django.urls import path
from . import views

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

第二步:修改项目根目录的 mysite/urls.py,让它包含 home 的路由:

from django.contrib import admin
from django.urls import path, include  # ← 别忘了 import include

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

步骤 6:注册应用(重要!)

Django 不会自动发现你的应用,需要手动注册。

打开 mysite/settings.py,找到 INSTALLED_APPS,在列表里加上 'home':

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

步骤 7:刷新浏览器!

回到 http://127.0.0.1:8000,现在你应该看到:

Hello, 这是我的第一个 Django 网站!

🎉 恭喜!你已经成功搭建了第一个 Django 网站!


四、新手常见问题 & 解决方案

我在 B站评论区经常看到这些问题,这里一次性解答:

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

原因:Django 没装好,或者没在虚拟环境中。

解决:

  • 确保执行了 pip install django
  • 确保虚拟环境已激活(命令行有 (venv) 前缀)

❓ 问题2:访问页面显示 404 或 500 错误

可能原因:

  • URL 配置写错了(比如漏了 include)
  • 视图函数没返回 HttpResponse
  • 应用没在 settings.py 中注册

排查步骤:

  1. 检查 urls.py 路径是否正确
  2. 确认 views.py 函数有 return
  3. 查看终端是否有红色错误日志

❓ 问题3:中文显示乱码

Django 默认支持 UTF-8,但如果你在 HttpResponse 里写中文,建议明确指定:

return HttpResponse("你好", content_type="text/html; charset=utf-8")

不过更推荐用模板(后面会讲),天然支持中文。

❓ 问题4:每次改代码都要重启服务器?

不用!Django 开发服务器会自动重载。只要保存 .py 文件,刷新浏览器就能看到效果(除了改 settings.py 需要手动重启)。


五、下一步学习建议

你已经迈出了最重要的一步!接下来,我建议按这个顺序深入:

阶段 学习内容 推荐实践
初级 使用模板(Template)渲染 HTML 页面 做一个静态个人主页
中级 使用模型(Model)连接数据库 实现一个留言本(用户可提交留言)
高级 用户认证、表单处理、Admin 后台 做一个带登录的博客系统

📚 推荐资源:


结语

回想起我当初第一次看到 Hello World 在浏览器里出现的那一刻,真的超有成就感!Django 虽然看起来组件多,但只要你理解了“请求 → 路由 → 视图 → 返回”这个主线,后面就顺了。

记住:编程不是背概念,而是动手做。哪怕只是改一行代码、刷新一次页面,都是进步。

如果你觉得这篇教程有帮助,欢迎点赞收藏,也欢迎来 B 站找我交流~ 下期我们讲“如何用 Django 模板做出漂亮的网页”!

✨ 最后一句鼓励:每个大神,都是从 Hello World 开始的。你,也可以!

评论 0

最热最新
暂无评论
需求别再变Lv.1
0
影响力
0
文章
0
粉丝