用Django搭个网站有多难?零基础也能30分钟上线!
大家好,我是阿哲,一名在大厂干了3年Java后端的老程序员,业余在B站做技术分享。最近很多粉丝私信问我:“想转行做Web开发,但Python和Java选哪个?”说实话,如果你目标是快速做出一个能跑的网站,Django可能是你最好的起点。
我当初学的时候,也纠结过Java Spring Boot和Python Django。Java生态强大,企业级应用多,但配置复杂;而Django“开箱即用”,自带后台、路由、ORM,特别适合产品验证和运营小工具的快速搭建。今天这篇教程,我就手把手带你用Django搭出人生第一个网站——哪怕你连“后端”是啥都不清楚!
为什么选Django?不是Java吗?
先说清楚:Java ≠ 后端唯一选择。虽然我在公司主力写Java,但做内部运营工具、MVP(最小可行产品)时,我经常用Django。原因很简单:
| 对比项 | Java (Spring Boot) | Python (Django) |
|---|---|---|
| 上手速度 | 较慢(需理解Maven、注解等) | 极快(命令行几行就跑起来) |
| 内置功能 | 需手动集成 | 自带Admin、用户系统、ORM |
| 适合场景 | 高并发、大型系统 | 快速原型、中小项目、运营工具 |
如果你是产品经理想验证一个想法,或是运营同学需要自动化报表页面,Django能让你今天写代码,明天上线给老板看。
第一步:环境准备(5分钟搞定)
⚠️ 前提:你的电脑已安装 Python 3.7+
1. 创建虚拟环境(强烈推荐!)
# 创建项目文件夹
mkdir mysite && cd mysite
# 创建虚拟环境(隔离依赖,避免污染全局)
python -m venv venv
# 激活虚拟环境(Windows用 venv\Scripts\activate)
source venv/bin/activate
2. 安装Django
pip install django
3. 验证安装
django-admin --version
# 如果输出版本号(如 4.2.7),说明成功!
💡 避坑指南:千万别跳过虚拟环境!我见过太多新手因为全局安装包冲突,半夜debug到崩溃。
核心概念三句话讲明白
Django有四大核心,用最土的话解释:
- Project(项目):整个网站的“地基”,包含配置、路由总表。
- App(应用):网站的一个功能模块,比如“博客”、“用户中心”。一个Project可含多个App。
- View(视图):收到用户请求后,决定返回什么内容(HTML/JSON等)。
- Template(模板):HTML页面的“壳子”,里面可以嵌入动态数据。
🧠 架构思考:这种“分而治之”的设计,让团队协作时,前端专注模板,后端专注逻辑,产品和运营也能快速调整页面结构。
实战:30分钟搭建“每日一句”网站
我们要做一个超简单的网站:首页显示一句励志语录,底部有“换一句”按钮。
步骤1:创建项目和App
# 创建Django项目(注意最后有个点!)
django-admin startproject mysite .
# 创建一个叫quotes的App
python manage.py startapp quotes
目录结构会变成:
mysite/
├── manage.py
├── mysite/ # 项目配置
│ ├── settings.py
│ └── urls.py
└── quotes/ # 我们的App
├── views.py
└── apps.py
步骤2:注册App
打开 mysite/settings.py,找到 INSTALLED_APPS,加入 'quotes':
INSTALLED_APPS = [
'django.contrib.admin',
# ...其他默认项
'quotes', # ← 加这一行
]
步骤3:写视图(View)
编辑 quotes/views.py:
from django.http import HttpResponse
import random
# 模拟数据库里的语录
QUOTES = [
"行动是治愈恐惧的良药",
"你的时间有限,别浪费在别人的生活里",
"完成比完美更重要"
]
def home(request):
quote = random.choice(QUOTES)
return HttpResponse(f"""
<h1>每日一句</h1>
<p>{quote}</p>
<a href="/">换一句</a>
""")
步骤4:配置URL路由
- 先在
quotes目录下新建urls.py:from django.urls import path from . import views urlpatterns = [ path('', views.home, name='home'), ] - 再修改项目根路由
mysite/urls.py:from django.contrib import admin from django.urls import path, include urlpatterns = [ path('admin/', admin.site.urls), path('', include('quotes.urls')), # ← 包含quotes的路由 ]
步骤5:启动服务器!
python manage.py runserver
浏览器打开 http://127.0.0.1:8000,恭喜!你的第一个网站跑起来了!
进阶:用模板分离HTML(更专业)
硬编码HTML在字符串里不优雅。Django推荐用模板:
- 在
quotes下创建目录templates/quotes/ - 新建文件
templates/quotes/home.html:<!DOCTYPE html> <html> <head> <title>每日一句</title> </head> <body> <h1>每日一句</h1> <p>{{ quote }}</p> <a href="/">换一句</a> </body> </html> - 修改
views.py:from django.shortcuts import render import random QUOTES = [...] # 同上 def home(request): quote = random.choice(QUOTES) return render(request, 'quotes/home.html', {'quote': quote})
✨ 实战经验:所有前端同事都感谢你把HTML放模板里!后续加CSS/JS也方便多了。
新手高频问题Q&A
Q:为什么访问 /admin 提示404?
A:需要先创建超级用户:
python manage.py createsuperuser
然后访问 /admin 登录即可。Django后台超强大,运营同学可以直接在这里管理数据!
Q:代码改了但页面没变?
A:Django开发服务器会自动重载,但有时缓存会干扰。试试:
- 强制刷新浏览器(Ctrl+F5)
- 检查是否保存了文件
- 终止服务器(Ctrl+C)再重启
Q:能部署到网上吗?
A:当然!用 Render 或 Vercel 免费部署(需稍作配置)。我B站有详细视频教程,搜“Django部署”就能看到。
下一步学什么?
你已经跨过了最难的第一步!接下来建议:
- 学模型(Model):把语录存进数据库,而不是写死在代码里
- 玩转Django Admin:让运营同学自己维护内容
- 加静态文件:引入Bootstrap美化页面
- 对比学习:试试Flask(更轻量)或FastAPI(API专用)
📌 我的建议:别一上来就啃官方文档!先做几个小项目(待办清单、博客),遇到问题再查。我在B站更新的《Django实战10例》系列就是按这个思路设计的。
写在最后
作为从Java转来尝鲜Django的人,我真心觉得:技术没有高低,只有合不合适。如果你要快速交付一个产品原型,或者给运营团队做个内部工具,Django能省下你80%的配置时间。
记住:每个大神都曾卡在runserver跑不起来的阶段。你现在的每一个报错,都是未来吹牛的资本。现在,去敲下那行django-admin startproject吧!
👋 关注我@阿哲Code,在B站看更多“从0到1”实战视频。下期预告:《用Django+Vue3搭建全栈待办应用》!

评论 0