零基础也能搭网站:用 Django 快速入门后端开发
大家好,我是正在读 211 计算机专业研究生的一名技术博主。最近在帮学弟学妹准备实习面试时,发现很多人对“如何写出第一个真正能跑的网站”感到迷茫。我自己当初学的时候,也踩过不少坑——装环境失败、看不懂 MTV 架构、连 runserver 都跑不起来……所以今天,我决定写一篇完全从零开始、手把手带你搭建第一个 Python 网站的教程。
无论你是为了课程设计、求职项目,还是单纯想搞点小作品发到 GitHub 上,这篇都适合你。我们还会聊聊 Replit Agent、Go 语言对比,以及我在求职中用 Django 拿到 offer 的真实经历。
为什么选择 Django?
Django 是一个用 Python 编写的高级 Web 框架,它最大的特点是“开箱即用”——自带数据库管理、用户认证、后台管理等功能,让你不用从零造轮子。很多公司(比如 Instagram、知乎早期)都用 Django 快速验证产品想法。
我当初学的时候,对比了 Flask、FastAPI 和 Django,最后选了 Django,因为它的“约定优于配置”理念特别适合新手快速上手。
环境准备:三种方式任你选
方式一:本地安装(推荐有 Python 基础的同学)
- 安装 Python(3.8+)
- 创建虚拟环境(避免包冲突):
python -m venv myenv source myenv/bin/activate # Windows 用 myenv\Scripts\activate - 安装 Django:
pip install django
方式二:使用 Replit(超适合零基础!)
如果你还没装 Python,或者怕配置环境,强烈推荐用 Replit!
- 打开 replit.com
- 创建新项目 → 选择 “Python”
- 在左侧文件区新建
.replit文件,内容如下:run = "python manage.py runserver 0.0.0.0:8000" - 在 Shell 中运行:
pip install django django-admin startproject mysite .
小贴士:Replit 最近推出了 Replit Agent 功能,可以自动帮你生成代码、调试错误。虽然不能完全替代思考,但对新手查错非常友好!
方式三:Docker(进阶可选)
略,初学者先跳过。
核心概念:MTV 到底是什么?
Django 采用 MTV 架构(Model-Template-View),和常见的 MVC 很像:
| Django 术语 | 实际作用 | 类比理解 |
|---|---|---|
| Model | 数据模型(对应数据库表) | “你存什么数据” |
| Template | HTML 模板(前端页面) | “页面长什么样” |
| View | 处理逻辑(接收请求、返回响应) | “用户点击后发生什么” |
我当初学的时候,总把 View 和 Template 搞混。记住:View 是 Python 函数,Template 是 HTML 文件。
实战:5 分钟搭建你的第一个网站
我们将做一个最简单的“欢迎页”网站。
第一步:创建项目
django-admin startproject mysite
cd mysite
目录结构:
mysite/
├── manage.py
└── mysite/
├── __init__.py
├── settings.py
├── urls.py
└── wsgi.py
第二步:启动服务器
python manage.py runserver
访问 http://127.0.0.1:8000,看到火箭图标就成功了!
第三步:创建一个应用(App)
Django 项目由多个“应用”组成(比如用户系统、博客系统)。
python manage.py startapp home
然后在 mysite/settings.py 中注册这个应用:
INSTALLED_APPS = [
'django.contrib.admin',
# ... 其他默认项
'home', # ← 加上这一行
]
第四步:写一个 View
编辑 home/views.py:
from django.http import HttpResponse
def welcome(request):
return HttpResponse("Hello, 你的第一个 Django 网站!")
第五步:配置 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
urlpatterns = [
path('admin/', admin.site.urls),
path('', include('home.urls')), # ← 主页指向 home 应用
]
刷新页面,就能看到你的欢迎语了!
进阶一点:加个 HTML 模板
现在把硬编码的字符串换成真正的网页。
在
home目录下创建templates/home/index.html:<!DOCTYPE html> <html> <head> <title>我的第一个网站</title> </head> <body> <h1>欢迎来到 Django 世界!</h1> <p>这是用 Python 写的网站哦~</p> </body> </html>修改
views.py:from django.shortcuts import render def welcome(request): return render(request, 'home/index.html')确保
settings.py中TEMPLATES配置正确(默认已支持)。
刷新页面,是不是更有“网站”的感觉了?
新手常见问题 & 解决方案
| 问题 | 原因 | 解决方法 |
|---|---|---|
ModuleNotFoundError: No module named 'django' |
没激活虚拟环境或没安装 Django | 检查 pip list,确保在正确环境 |
| 页面显示 404 | URL 路由没配对 | 检查 urls.py 路径是否匹配 |
| 模板找不到 | templates 目录位置不对 | 确保在 app 下,且 settings 已配置 |
| Replit 无法访问 8000 端口 | 默认只监听 127.0.0.1 | 启动命令加 0.0.0.0:8000 |
我当初卡在模板路径上整整半天,后来才发现
templates必须放在 app 目录里,而不是项目根目录!
Django vs Go:求职时怎么选?
很多同学会问:“现在 Go 很火,要不要学 Go 而不是 Django?”
我的建议是:
- 如果你目标是快速做出项目、投递后端实习:Django 更快!Python 语法简单,生态成熟,写 CRUD(增删改查)效率极高。
- 如果你目标是高性能、高并发系统(如支付、游戏后端):Go 确实更合适。
但注意:大多数中小厂的业务系统,Django 完全够用。我靠一个 Django + Vue 的全栈项目,拿到了三家公司的 offer。
开发心得:技术只是工具,解决问题的能力才是核心。用 Django 把项目跑通,比纠结“该不该学 Go”重要得多。
下一步学习建议
- 学数据库:用
models.py定义数据,执行makemigrations和migrate - 学 Admin 后台:Django 自带超强大的管理界面,一行代码开启
- 学表单处理:让用户能提交数据
- 部署上线:用 Vercel + Railway 或 Heroku 免费部署
避坑指南:不要一上来就学 REST API、JWT、Docker!先把基础流程跑通,再逐步扩展。
结语:你的第一个网站,就是求职的起点
别小看这个简单的欢迎页。把它扩展成一个“个人博客”、“待办清单”或“课程管理系统”,就能成为你简历上的亮点项目。我见过太多同学因为“没项目”被卡在简历关,其实一个干净、可运行的 Django 项目,就足以证明你的工程能力。
记住:完成比完美更重要。
现在,打开你的终端,敲下 django-admin startproject —— 你的开发者之旅,就从这一行开始。
加油,未来的工程师!如果这篇教程帮到了你,欢迎在评论区告诉我你的第一个网站做了什么 😊

评论 0