零基础也能学会:用Django搭建你的第一个Python网站
大家好,我是小林,一名985高校毕业的全栈工程师,平时在掘金写了不少入门教程。最近收到不少私信:“学后端该从哪开始?”、“Python能做网站吗?”、“简历上写Django会不会比SpringBoot更吃香?”——这些问题我都经历过。
我当初学后端时,一开始被Java的SpringBoot吓退了:Maven、注解、配置类……光是环境就折腾一周。后来尝试用Python的Django,三天就跑起了自己的博客网站!那种“原来我也能做网站”的成就感,至今难忘。
今天这篇教程,就是为完全零基础的朋友量身打造的。哪怕你连“后端”是什么都不清楚,只要会点基础Python(比如知道print("hello")),就能跟着一步步做出一个能展示个人简历的网站!
为什么选Django?它和SpringBoot有什么区别?
很多同学在准备简历时纠结:写SpringBoot还是Django?其实两者定位不同:
| 对比项 | Django (Python) | SpringBoot (Java) |
|---|---|---|
| 学习曲线 | 平缓,适合新手快速上手 | 陡峭,需掌握Java生态体系 |
| 开发速度 | 极快,内置大量功能 | 较慢,需手动集成组件 |
| 适用场景 | 快速原型、中小型项目、数据驱动应用 | 大型企业级系统、高并发场景 |
| 简历加分项 | 展示全栈能力、快速交付能力 | 体现工程规范、团队协作经验 |
✅ 建议:如果你是学生或转行者,想快速做出作品充实简历,Django是绝佳选择。等有了项目经验,再学SpringBoot也不迟。
第一步:搭建开发环境(超详细!)
别担心,这一步我写得特别细,照着做就行。
1. 安装Python
- 访问 https://www.python.org/downloads/
- 下载 Python 3.8+(推荐3.10)
- 安装时务必勾选 “Add to PATH”
验证安装:
python --version
# 应输出类似 Python 3.10.12
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 即成功
💡 避坑提示:如果报错
pip不是内部命令,请重新安装Python并勾选PATH选项。
第二步:理解Django的核心概念(用大白话讲)
Django有句名言:“Don’t repeat yourself”(不要重复造轮子)。它把网站开发拆成几个模块,我们一个个看:
🏗️ 项目(Project) vs 应用(App)
- 项目 = 整个网站(比如“我的个人官网”)
- 应用 = 网站的功能模块(比如“简历展示”、“博客”、“留言本”)
我当初混淆这两者,导致代码乱放。记住:一个项目可包含多个应用!
📡 请求处理流程(简化版)
用户浏览器 → URL路由 → 视图函数 → 返回HTML → 用户看到页面
- URL路由:像快递地址,告诉Django“/resume 路由到简历视图”
- 视图函数:处理逻辑的地方(比如从数据库取简历数据)
- 模板:HTML文件,负责展示内容(长得好看的部分)
🗃️ ORM:不用写SQL也能操作数据库!
Django的ORM让你用Python代码代替SQL语句。例如:
# 获取所有简历条目
Resume.objects.all()
# 添加新简历
Resume.objects.create(name="张三", email="zhang@example.com")
对新手太友好了!不用记SELECT * FROM ...这种复杂语法。
第三步:实战!搭建你的简历展示网站
现在,让我们动手做一个能展示个人简历信息的网站。全程只需5步!
步骤1:创建项目
django-admin startproject myresume
cd myresume
目录结构:
myresume/
├── manage.py # 管理脚本(启动、数据库操作等)
└── myresume/ # 项目配置文件夹
├── __init__.py
├── settings.py # 核心配置(数据库、时区等)
├── urls.py # 主路由文件
└── wsgi.py
步骤2:创建“简历”应用
python manage.py startapp resume
现在目录多了 resume/ 文件夹,这就是我们的简历应用。
步骤3:注册应用
打开 myresume/settings.py,找到 INSTALLED_APPS,添加 'resume':
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
# ... 其他默认应用
'resume', # ← 在这里添加
]
步骤4:定义简历数据模型
编辑 resume/models.py,定义简历字段:
from django.db import models
class ResumeItem(models.Model):
name = models.CharField(max_length=100, verbose_name="姓名")
email = models.EmailField(verbose_name="邮箱")
phone = models.CharField(max_length=20, verbose_name="电话")
summary = models.TextField(verbose_name="个人简介")
def __str__(self):
return self.name
🔍 字段说明:
CharField:短文本(如姓名)EmailField:自动验证邮箱格式TextField:长文本(如自我评价)
步骤5:创建并应用数据库迁移
# 生成迁移文件
python manage.py makemigrations
# 应用到数据库(默认用SQLite,无需额外安装)
python manage.py migrate
💡 此时Django已自动创建SQLite数据库文件
db.sqlite3,包含简历表。
第四步:让简历数据可管理(超级实用!)
Django自带一个后台管理系统!我们只需两行代码就能用。
1. 创建管理员账号
python manage.py createsuperuser
# 按提示输入用户名、邮箱、密码(密码输入时不可见,正常输入即可)
2. 注册模型到后台
编辑 resume/admin.py:
from django.contrib import admin
from .models import ResumeItem
admin.site.register(ResumeItem)
3. 启动开发服务器
python manage.py runserver
访问:
- 后台管理:http://127.0.0.1:8000/admin
- 输入刚才创建的账号密码
你会看到一个专业的管理界面!点击“Resume items” → “ADD RESUME ITEM”,填入你的简历信息并保存。
✨ 效果:现在你的简历数据已经存入数据库,随时可修改!
第五步:把简历展示在网页上
现在数据有了,如何让用户看到?需要创建视图和模板。
1. 创建视图函数
编辑 resume/views.py:
from django.shortcuts import render
from .models import ResumeItem
def resume_view(request):
# 从数据库获取第一条简历(假设只有一份)
resume = ResumeItem.objects.first()
return render(request, 'resume.html', {'resume': resume})
2. 配置URL路由
- 在
resume/目录下新建urls.py:
from django.urls import path
from . import views
urlpatterns = [
path('', views.resume_view, name='resume'),
]
- 修改主路由
myresume/urls.py:
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('admin/', admin.site.urls),
path('', include('resume.urls')), # ← 添加这一行
]
3. 创建HTML模板
- 在
resume/目录下新建文件夹templates - 在
templates/中新建resume.html:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>{{ resume.name }}的简历</title>
<style>
body { font-family: Arial, sans-serif; max-width: 800px; margin: 40px auto; padding: 20px; }
.header { text-align: center; border-bottom: 1px solid #eee; padding-bottom: 20px; }
.contact { display: flex; justify-content: space-around; margin: 20px 0; }
</style>
</head>
<body>
<div class="header">
<h1>{{ resume.name }}</h1>
</div>
<div class="contact">
<p>📧 {{ resume.email }}</p>
<p>📱 {{ resume.phone }}</p>
</div>
<div class="summary">
<h2>个人简介</h2>
<p>{{ resume.summary }}</p>
</div>
</body>
</html>
💡 模板中
{{ resume.name }}是Django模板语法,会自动替换成数据库中的值。
4. 查看最终效果!
确保开发服务器正在运行(python manage.py runserver),访问:
http://127.0.0.1:8000
恭喜!你拥有了人生第一个Python网站,还能随时通过后台更新简历内容。
新手常见问题解答(FAQ)
❓ Q1:为什么访问127.0.0.1:8000是空白页?
- 检查是否漏了
path('', include('resume.urls'))这行路由配置 - 确认
views.py中返回了正确的模板名(resume.html)
❓ Q2:后台登录提示“用户名或密码错误”?
- 重新运行
python manage.py createsuperuser创建新账号 - 密码输入时不会显示字符,输完直接回车
❓ Q3:修改代码后页面没变化?
- Django开发服务器会自动重载,但有时需手动刷新浏览器
- 如果改了模型(models.py),必须重新执行
makemigrations和migrate
❓ Q4:这个网站能部署到网上吗?
- 当然可以!后续可学习部署到Vercel、Railway或阿里云
- 但正式上线需改用MySQL/PostgreSQL,并配置生产环境设置
下一步学习建议:从入门到进阶
完成这个项目后,你的简历已经可以写上“掌握Django基础开发”了!接下来建议:
深化理解
- 学习Django的
Form表单处理(比如添加“联系我”功能) - 研究
Class-based Views(更优雅的视图写法)
- 学习Django的
扩展功能
- 增加“项目经历”、“教育背景”等新模型
- 用Bootstrap美化前端界面
对比学习
- 尝试用Flask(另一个Python Web框架)重写本项目
- 了解SpringBoot的基本结构,理解Java后端思维
实战项目
- 做一个博客系统(含文章、评论)
- 开发简易电商网站(商品展示+购物车)
📌 关键提醒:不要陷入“教程地狱”!学完基础后,立刻做自己的项目。哪怕只是加个“暗色模式”按钮,也比反复看视频强。
写在最后
记得我第一份实习面试时,面试官看到我GitHub上的Django简历网站,直接问:“这是你自己做的?” 得到肯定回答后,他笑着说:“明天来上班吧。”
技术不在于多深奥,而在于能否解决问题。用Django快速搭建一个作品,不仅能丰富简历,更能建立你作为开发者的信心。
现在,关掉这篇文章,打开你的终端,输入 django-admin startproject —— 你的全栈之路,就从这一行命令开始。
有任何问题,欢迎在评论区留言。我会一一解答!

评论 0