Django入门教程:搭建你的第一个Python网站——一个成都奶爸的深夜自救指南

接口余额不足
2026-01-05 10:55
阅读 1335

作者:老王,两个娃的爹,成都打工人,月薪18k(税前),房租3500,晚上9:30后才有自己的时间


上周五晚上,我正瘫在沙发上刷脉脉,突然弹出一条私信:

“Hi,看到你简历上有Python经验,我们公司在招Django后端,base成都,15k-22k,有兴趣聊聊吗?”

我手一抖,差点把刚泡好的茉莉花茶洒到键盘上。

老婆从主卧探出头:“又熬夜?老大刚睡着,老二还在哼唧,你悠着点。”
我赶紧压低声音:“有个面试机会,可能要涨薪。”

她翻了个白眼:“上次你说学Go,结果买了本《Go语言圣经》,到现在书签还夹在第17页。这次别又是三分钟热度。”

我苦笑。她说得对。去年十月,我也雄心勃勃想转Go,觉得“云原生”、“高并发”听着就高级,大厂都在用,简历能镀金。可现实是——白天上班写CRUD,回家陪娃洗澡、读绘本、哄睡,等俩小祖宗彻底安静下来,往往已经9:30了。脑子像被榨干的柠檬,连打开IDE都嫌累。

但这次不一样。Django,这个词在我心里悄悄燃起了一点火苗。

为什么?因为我想做个产品


一、不是我不想学Go,是娃不给我时间

先说清楚,我不是看不起Go。相反,我觉得Go很牛逼。简洁、高效、部署方便,K8s、Docker、微服务……这些词听着就性感。我司技术栈也在往Go迁移,隔壁组的老张跳槽去了字节,据说就是靠Go拿的offer,月薪从15k涨到22k

我也心动。但现实很骨感。

Go的学习曲线对我这种“碎片化学习者”太不友好了。没有运行时、没有泛型(旧版本)、错误处理全靠手动判断……每一个概念都要花整块时间去理解。而我?每天能挤出的“高质量学习时间”不超过40分钟,还得防着娃突然哭醒。

有天凌晨1点,我硬撑着敲完一个Go的HTTP服务器demo,结果跑起来报错:undefined: context。查了半天才发现是包导入路径错了。那一刻我真的想砸电脑——不是代码难,是我真的太累了

老婆说得对:“你连连续两小时都不行,还学什么系统编程?”


二、转投Django:一个“懒人”的自救选择

转折发生在上个月。我在知乎刷到一篇帖子:《用Django三天做出一个MVP产品》。

MVP?产品?我眼睛一亮。

我一直有个想法:做一个本地亲子活动推荐平台,整合成都周边的亲子农场、手工课、绘本馆信息。市面上要么是大众点评这种大而全的,要么是微信群里零散转发,体验极差。如果能做个轻量级网站,哪怕只有基础功能,也能解决一部分痛点。

但问题来了:我没时间从零造轮子

这时候,Django的优势就凸显出来了。

“Django is batteries included.” —— 官方口号,翻译成人话:开箱即用,省事!

  • 自带Admin后台,不用手写管理界面
  • ORM自动映射数据库,告别手写SQL
  • 用户认证、表单验证、CSRF防护……统统内置
  • 开发服务器热重载,改完代码刷新就行

对我来说,这意味着:用最少的时间,跑通一个完整的产品原型

这才是关键。我不是为了炫技,我是为了验证想法,为了求职时能说“我做过一个产品”,而不是“我会写接口”。


三、实战:从零搭建第一个Django网站(奶爸版)

下面我就用最接地气的方式,带你走一遍Django入门。全程基于我的真实环境:

  • 系统:Windows 11(公司配的破笔记本)
  • Python:3.10
  • 时间:每天晚上9:30–10:10,娃睡后
  • 心态:随时可能被娃哭声打断

第一步:装环境(别被劝退!)

pip install django

就这么简单。别信网上那些复杂的虚拟环境教程,初期直接全局装就行。等你真做出东西了,再学venv也不迟。

然后创建项目:

django-admin startproject kidschengdu
cd kidschengdu
python manage.py runserver

浏览器打开 http://127.0.0.1:8000,看到那个火箭图标——恭喜,你的第一个网站跑起来了!

内心OS:比Go那个“Hello World”简单多了吧?Go还要写package、import、func main……Django一行命令搞定。

第二步:建个App(别怕术语)

Django里,“App”不是手机应用,而是功能模块。比如用户系统、活动列表、评论区,都可以是独立App。

python manage.py startapp events

然后在 settings.py 里注册:

INSTALLED_APPS = [
    ...
    'events',
]

第三步:定义数据模型(这才是产品核心)

我想展示“亲子活动”,所以建个模型:

# events/models.py
from django.db import models

class Event(models.Model):
    title = models.CharField(max_length=100)
    location = models.CharField(max_length=100)  # 比如“麓湖生态城A4美术馆”
    date = models.DateField()
    description = models.TextField()
    created_at = models.DateTimeField(auto_now_add=True)

然后生成并执行迁移:

python manage.py makemigrations
python manage.py migrate

数据库(默认SQLite)自动建好表。不用写CREATE TABLE,不用连MySQL,连Docker都不用装——这对资源有限的我来说,简直是福音。

第四步:写视图和模板(让页面能看)

Django支持函数视图和类视图。新手建议用函数,直观。

# events/views.py
from django.shortcuts import render
from .models import Event

def event_list(request):
    events = Event.objects.all().order_by('-date')
    return render(request, 'events/list.html', {'events': events})

模板放 events/templates/events/list.html

<!DOCTYPE html>
<html>
<head><title>成都亲子活动</title></head>
<body>
  <h1>近期活动</h1>
  {% for event in events %}
    <div>
      <h2>{{ event.title }}</h2>
      <p>{{ event.location }} | {{ event.date }}</p>
      <p>{{ event.description|truncatewords:20 }}</p>
    </div>
  {% endfor %}
</body>
</html>

最后配路由:

# kidschengdu/urls.py
from django.urls import path, include

urlpatterns = [
    path('events/', include('events.urls')),
]

# events/urls.py
from django.urls import path
from . import views

urlpatterns = [
    path('', views.event_list, name='event_list'),
]

重启服务器,访问 /events/ —— 数据出来了!

真实场景:那天晚上我搞到10:25,老二突然发烧,39度。我一边给娃物理降温,一边心里默念:“至少路由跑通了……”


四、为什么Django更适合“产品思维”的打工人?

回到开头那句:我想做个产品

很多程序员(包括曾经的我)陷入一个误区:技术越新越牛,Go > Python,Rust > Go,Serverless > Docker……

但现实是:市场要的是解决问题的产品,不是技术秀

Django让你快速验证想法。你可以:

  • 一周内做出可演示的原型
  • 用Admin后台手动录入数据(早期根本不需要爬虫)
  • 加个用户注册,就能收集真实反馈
  • 部署到Heroku或Vercel(Django+Render超简单),发给朋友试用

而这些,在Go里你得自己搭框架、写中间件、处理模板渲染……等你搭完,热情早就凉了。

更别说求职。HR看不懂“熟悉Goroutine调度模型”,但看得懂“独立开发并上线了一个本地生活服务平台,日活200+”。


五、关于求职:技术只是敲门砖,产品才是通行证

上周我和那家公司的HR聊了。

他问:“看你简历写Python,主要用什么框架?”

我说:“Django,最近在用它做一个成都本地的亲子活动聚合站,虽然还没推广,但核心功能都跑通了。”

他眼睛一亮:“哦?有线上地址吗?”

我发了Render的链接。虽然简陋,但有真实数据、有交互、有用户流程。

最后谈薪谈到19k,比现在高1k。HR说:“我们看重的是你有产品sense,不光会写代码。”

那一刻我明白了:企业要的不是语言专家,而是能用技术创造价值的人

Go当然重要,但如果你连一个完整的产品都没做过,空谈“高并发架构”只会显得浮躁。


六、写给同样疲惫的你

我知道你在看这篇文章时,可能也刚哄睡孩子,或者加班到深夜,或者正在为35岁焦虑。

我想说:别被技术潮流绑架

  • 如果你想快速验证想法 → 选Django
  • 如果你想进大厂做基础设施 → 学Go
  • 如果你想转行做产品经理 → 做一个真实可用的东西,比背100道八股文有用

我现在的计划是:

  1. 用Django把“kidschengdu”做到MVP阶段(目标:100个真实用户)
  2. 如果数据不错,申请成都本地的创业补贴(听说有5万)
  3. 同时不放弃Go,等产品稳定了,用Go重写核心API(长远规划)

技术是工具,产品是载体,生活才是目的

我在成都,房租3500,工资不高,但娃睡着后那一个小时的宁静,是我最珍贵的“自由时间”。我不求一夜暴富,只希望用代码,一点点改善自己和身边人的生活。


最后几句真心话

  • 别信“30岁必须学Rust”的毒鸡汤,先把手头的事做好
  • 求职时,一个粗糙但完整的项目 > 十个半途而废的教程
  • 如果你是奶爸/妈,请原谅自己进度慢——你不是不行,你只是在负重前行

Django不是银弹,但它可能是你此刻最需要的那把钥匙。

今晚,等娃睡了,打开终端,敲下:

django-admin startproject your_first_product

你的第一个产品,就从这一行开始。

共勉。

评论 0

最热最新
暂无评论
接口余额不足Lv.1
0
影响力
0
文章
0
粉丝