用Django搭个网站有多难?零基础也能30分钟上线!

前端Tech
2025-12-26 06:09
阅读 705

大家好,我是阿哲,一名在大厂干了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有四大核心,用最土的话解释:

  1. Project(项目):整个网站的“地基”,包含配置、路由总表。
  2. App(应用):网站的一个功能模块,比如“博客”、“用户中心”。一个Project可含多个App。
  3. View(视图):收到用户请求后,决定返回什么内容(HTML/JSON等)。
  4. 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推荐用模板:

  1. quotes 下创建目录 templates/quotes/
  2. 新建文件 templates/quotes/home.html
    <!DOCTYPE html>
    <html>
    <head>
        <title>每日一句</title>
    </head>
    <body>
        <h1>每日一句</h1>
        <p>{{ quote }}</p>
        <a href="/">换一句</a>
    </body>
    </html>
    
  3. 修改 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:当然!用 RenderVercel 免费部署(需稍作配置)。我B站有详细视频教程,搜“Django部署”就能看到。


下一步学什么?

你已经跨过了最难的第一步!接下来建议:

  1. 学模型(Model):把语录存进数据库,而不是写死在代码里
  2. 玩转Django Admin:让运营同学自己维护内容
  3. 加静态文件:引入Bootstrap美化页面
  4. 对比学习:试试Flask(更轻量)或FastAPI(API专用)

📌 我的建议:别一上来就啃官方文档!先做几个小项目(待办清单、博客),遇到问题再查。我在B站更新的《Django实战10例》系列就是按这个思路设计的。


写在最后

作为从Java转来尝鲜Django的人,我真心觉得:技术没有高低,只有合不合适。如果你要快速交付一个产品原型,或者给运营团队做个内部工具,Django能省下你80%的配置时间。

记住:每个大神都曾卡在runserver跑不起来的阶段。你现在的每一个报错,都是未来吹牛的资本。现在,去敲下那行django-admin startproject吧!

👋 关注我@阿哲Code,在B站看更多“从0到1”实战视频。下期预告:《用Django+Vue3搭建全栈待办应用》!

评论 0

最热最新
暂无评论
匿名用户Lv.1
0
影响力
0
文章
0
粉丝