从培训班出来的前端,为什么我劝你试试Django?
大家好,我是一名从编程培训班毕业的前端开发。当初学完HTML、CSS、JavaScript后,总觉得“只会做页面”不够硬气——用户注册、登录、发文章这些功能怎么实现?数据库怎么连?后端逻辑谁来写?
于是,我开始自学后端。试过Java(Spring Boot太重了)、Node.js(回调地狱吓到我),最后被朋友安利了 Django ——一个用Python写的Web框架。结果?三天就搭出了自己的博客!今天这篇教程,就是我想对当年那个迷茫的自己说的话。
如果你是零基础小白,别怕!我会用最直白的话,带你用Django搭起人生第一个网站。
为什么选 Django?它和 GPT-4、Codeium 有啥关系?
Django 是一个用 Python 编写的开源 Web 框架,主打“快速开发、安全可靠”。它自带用户系统、后台管理、数据库 ORM 等功能,你不用重复造轮子。
现在 AI 编程工具火了,像 GPT-4、Bolt.new、Codeium 都能帮你自动补全代码、解释错误、甚至生成整个视图函数。但它们的前提是:你得知道项目结构长什么样、哪些文件该改。而 Django 的“约定大于配置”理念,恰恰让新手更容易上手——结构清晰,AI 工具也能更准地辅助你。
💡 我当初学的时候,用 Codeium 自动生成
views.py里的逻辑,效率翻倍!但前提是先理解 Django 的 MTV 模式(后面会讲)。
至于 Java?很多公司后端用 Java(比如 Spring),但它对新手不友好:配置复杂、依赖多、启动慢。而 Django 用 Python,语法简洁,几行代码就能跑起来,特别适合入门。
第一步:环境准备(5分钟搞定)
你需要装什么?
| 软件 | 作用 | 安装建议 |
|---|---|---|
| Python 3.8+ | Django 的运行基础 | 去 python.org 下载 |
| pip | Python 包管理器 | 安装 Python 时自动带 |
| 代码编辑器 | 写代码的地方 | 推荐 VS Code(免费) |
✅ 验证安装:打开终端(Mac/Linux)或命令提示符(Windows),输入:
python --version pip --version如果显示版本号,说明 OK!
创建虚拟环境(重要!)
虚拟环境就像“独立沙盒”,避免不同项目依赖冲突。
# 创建项目文件夹
mkdir mysite
cd mysite
# 创建虚拟环境(名字叫 venv)
python -m venv venv
# 激活虚拟环境
# Windows:
venv\Scripts\activate
# Mac/Linux:
source venv/bin/activate
激活后,命令行前面会出现 (venv) 字样。
安装 Django
pip install django
验证是否安装成功:
django-admin --version
# 应该输出类似 5.0.x 的版本号
⚠️ 新手常见坑:忘记激活虚拟环境!每次新开终端都要重新
activate。
第二步:理解 Django 的核心概念(用大白话)
Django 采用 MTV 模式(Model-Template-View),别被名字吓到,其实很简单:
| 组件 | 对应现实 | 作用 |
|---|---|---|
| Model | 数据库表 | 定义数据结构(比如“用户有哪些字段”) |
| Template | HTML 页面 | 用户看到的界面 |
| View | 控制器 | 接收请求 → 处理逻辑 → 返回页面 |
🌰 举个栗子:
用户访问/article/1→ View 收到请求 → 去 Model 查 ID=1 的文章 → 把数据塞进 Template → 返回 HTML 给用户。
这和前端的“组件 + API”思路很像!只是 Django 把前后端打包在一起了。
第三步:动手!创建你的第一个网站
我们做一个超简单的“欢迎页”。
1. 创建 Django 项目
django-admin startproject mysite .
注意末尾有个 .!这表示在当前目录创建项目。
你会看到这些文件:
mysite/
├── manage.py
└── mysite/
├── __init__.py
├── settings.py ← 配置文件
├── urls.py ← 路由文件
└── wsgi.py
2. 启动开发服务器
python manage.py runserver
打开浏览器,访问 http://127.0.0.1:8000,你会看到 Django 的火箭图标!恭喜,服务器跑起来了!
🔁 修改代码后,服务器会自动重启(不用手动关再开)。
3. 创建一个 App(应用)
Django 项目由多个 App 组成(比如用户系统、博客、商城)。现在我们创建一个叫 home 的 App:
python manage.py startapp home
文件结构新增:
home/
├── migrations/
├── models.py
├── views.py ← 写逻辑的地方
└── apps.py
4. 注册 App 到项目
打开 mysite/settings.py,找到 INSTALLED_APPS,加上 'home':
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
# ... 其他默认项
'home', # ← 加这一行
]
5. 写一个 View(视图)
编辑 home/views.py:
from django.http import HttpResponse
def welcome(request):
return HttpResponse("<h1>你好,世界!</h1><p>这是我的第一个 Django 网站!</p>")
6. 配置 URL 路由
创建 home/urls.py:
from django.urls import path
from . import views
urlpatterns = [
path('', views.welcome, name='welcome'),
]
然后修改主路由 mysite/urls.py:
from django.contrib import admin
from django.urls import path, include # ← 引入 include
urlpatterns = [
path('admin/', admin.site.urls),
path('', include('home.urls')), # ← 把 home 的路由包含进来
]
刷新浏览器,你会看到自定义的欢迎语!
第四步:加点动态内容(使用 Template)
纯字符串返回太 low,我们用 HTML 模板。
1. 创建模板文件夹
在 home/ 目录下新建文件夹:
home/
└── templates/
└── home/
└── welcome.html
📌 Django 默认去
templates/app_name/找模板,所以路径要这样建。
2. 写 HTML 模板
home/templates/home/welcome.html:
<!DOCTYPE html>
<html>
<head>
<title>我的网站</title>
</head>
<body>
<h1>你好,{{ name }}!</h1>
<p>今天是 {{ today }}</p>
</body>
</html>
{{ }} 是 Django 模板变量,后面我们会传值进去。
3. 修改 View,渲染模板
更新 home/views.py:
from django.shortcuts import render
from datetime import date
def welcome(request):
context = {
'name': '小明',
'today': date.today()
}
return render(request, 'home/welcome.html', context)
刷新页面,数据就显示出来了!
💡
render函数自动找templates下的模板,比HttpResponse更方便。
新手常踩的5个坑 & 解决方案
| 问题 | 原因 | 解决办法 |
|---|---|---|
| 页面404 | URL 路由没配对 | 检查 urls.py 中的 path 是否匹配访问路径 |
| 模板找不到 | templates 文件夹位置错 | 确保是 app/templates/app/xxx.html |
| 修改代码不生效 | 服务器没重启 | 开发模式会自动重启,若无效可手动 Ctrl+C 再 runserver |
| 中文乱码 | 文件编码非 UTF-8 | 用 VS Code 打开文件,右下角选“UTF-8” |
| 数据库报错 | 没执行迁移 | 运行 python manage.py migrate |
下一步怎么学?我的建议
- 学 Django Admin:Django 自带后台管理系统,几行代码就能管理用户、文章等数据。
- 连接真实数据库:默认用 SQLite(适合学习),上线可用 PostgreSQL 或 MySQL。
- 尝试 Class-Based Views:比函数视图更强大,适合复杂逻辑。
- 结合前端框架:用 Django 做 API 后端,Vue/React 做前端(分离架构)。
- 用 AI 工具提效:
- 在 VS Code 安装 Codeium 或 GitHub Copilot
- 让 GPT-4 解释报错信息:“Django NoReverseMatch error 是什么意思?”
- 用 Bolt.new 快速生成项目脚手架
🌟 我当初靠这些工具,一周就做出了带用户评论的博客系统!
最后说两句
别被“后端”两个字吓到。Django 的设计哲学就是:“不要重复造轮子,专注业务逻辑”。你不需要懂网络协议、不用手写 SQL,照样能做出完整网站。
记住:所有大神,都曾是连 pip install 都打错的新手。
现在,关掉这篇文章,打开终端,敲下 django-admin startproject ——你的第一个网站,正在等你唤醒。
加油!我在后端的世界等你。

评论 0