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

孙秀珍
2026-01-04 09:42
阅读 815

大家好,我是小林,一名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

验证安装:

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

访问:

你会看到一个专业的管理界面!点击“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),必须重新执行 makemigrationsmigrate

❓ Q4:这个网站能部署到网上吗?

  • 当然可以!后续可学习部署到Vercel、Railway或阿里云
  • 但正式上线需改用MySQL/PostgreSQL,并配置生产环境设置

下一步学习建议:从入门到进阶

完成这个项目后,你的简历已经可以写上“掌握Django基础开发”了!接下来建议:

  1. 深化理解

    • 学习Django的 Form 表单处理(比如添加“联系我”功能)
    • 研究 Class-based Views(更优雅的视图写法)
  2. 扩展功能

    • 增加“项目经历”、“教育背景”等新模型
    • 用Bootstrap美化前端界面
  3. 对比学习

    • 尝试用Flask(另一个Python Web框架)重写本项目
    • 了解SpringBoot的基本结构,理解Java后端思维
  4. 实战项目

    • 做一个博客系统(含文章、评论)
    • 开发简易电商网站(商品展示+购物车)

📌 关键提醒:不要陷入“教程地狱”!学完基础后,立刻做自己的项目。哪怕只是加个“暗色模式”按钮,也比反复看视频强。


写在最后

记得我第一份实习面试时,面试官看到我GitHub上的Django简历网站,直接问:“这是你自己做的?” 得到肯定回答后,他笑着说:“明天来上班吧。”

技术不在于多深奥,而在于能否解决问题。用Django快速搭建一个作品,不仅能丰富简历,更能建立你作为开发者的信心。

现在,关掉这篇文章,打开你的终端,输入 django-admin startproject —— 你的全栈之路,就从这一行命令开始。

有任何问题,欢迎在评论区留言。我会一一解答!

评论 0

最热最新
暂无评论
孙秀珍Lv.1
0
影响力
0
文章
0
粉丝