Django入门教程:搭建你的第一个Python网站
——一个35岁老广程序员的深夜复盘
去年十月的一个周五晚上,我坐在越秀老城区那套月租3500的老房子里,窗外是熟悉的西门口车流声,屋里是老婆哄娃睡觉的轻声细语。我盯着电脑屏幕,手边放着一杯凉透的铁观音——没错,不是咖啡,老广喝不惯那苦味。屏幕上是一行又一行报错的Django代码,而我的脑子里却在反复回响白天HR那句:“你这Java背景转Python,我们有点担心上手速度……”
那一刻,我真的有点焦虑。
一、从Java到Python:不是背叛,是突围
我在广州干了快12年Java开发,从天河科技园的小公司干到珠江新城的中厂,月薪从8k一路爬到22k。但去年开始,明显感觉不对劲了——项目越来越“稳”,需求越来越少变,每天就是CRUD+开会+改Bug,连新人都比我懂Kubernetes。更扎心的是,面试时被问:“你会Python吗?会Django/Flask吗?能搞AI后端吗?”
我说不会。HR的眼神立马变了。
回家路上,我在地铁3号线上刷招聘APP,发现广州本地的Python岗位数量居然快赶上Java了,而且很多要求写着“熟悉Django优先”。那一刻我突然意识到:技术栈老化,比年龄老化更可怕。
老婆看我愁眉苦脸,一边给娃擦脸一边说:“要不你学点新东西?你不是老说Python写起来‘爽’吗?”
我苦笑:“爽是爽,可我都35了,还从头学框架,来得及吗?”
她反问:“那你打算一直用Spring Boot写到退休?”
一句话点醒梦中人。
##二、第一本Django书:二手的,但很香
第二天周末,我直奔天河购书中心。本来想找本新书,结果一看价格——《Django企业级开发实战》标价128,还是2021年的。我心想:这玩意儿技术更新这么快,买新的怕不是交智商税?
转身去了隔壁的二手书店,在一堆泛黄的技术书中翻出一本《Django Web开发指南(第3版)》,封面都磨白了,标价35块。老板说是前年一个暨大研究生毕业甩卖的,几乎没怎么翻过。
“30块拿走吧,老广讲缘分。”老板叼着烟说。
我付了钱,心里嘀咕:这书要是过时了,我可要回来找你“饮茶”。
回家翻开第一页,作者居然写:“本书假设你已经会Python基础,但如果你是Java转过来的——别慌,Django的哲学和Spring其实有异曲同工之妙。”
我愣住了。这书,像是为我写的。
三、动手!从“Hello World”到真·网站
按照书里的第一章,我先装了Python 3.10(特意没用最新版,怕踩坑),然后:
pip install django
django-admin startproject myfirstsite
cd myfirstsite
python manage.py runserver
浏览器打开 http://127.0.0.1:8000 —— 出现那只熟悉的火箭图标!
那一刻,我差点叫出声。老婆探头问:“搞定啦?”
我说:“还没,但火箭升空了。”
接下来三天,我每晚等娃睡了就开干。从创建app、写model、配urls、写views,到用Django自带的admin后台——整个过程流畅得不像话。对比当年学Spring MVC时配XML配到怀疑人生,Django简直就是“约定优于配置”的典范。
最让我震撼的是数据库迁移:
# models.py
class Post(models.Model):
title = models.CharField(max_length=200)
content = models.TextField()
然后两行命令:
python manage.py makemigrations
python manage.py migrate
数据库表自动建好!连字段类型都智能映射。我忍不住吐槽:“Java那边用MyBatis-Plus还要写XML或注解,这里直接靠猜?还猜对了?”
当然,中间也踩了不少坑。比如静态文件404、时区设置不对、中文乱码……但Django的错误页面太友好了——不仅告诉你哪行错,还给你高亮、建议解决方案,甚至附带Stack Overflow链接。我老婆看我对着红底白字的报错页面傻笑,以为我疯了。
四、为什么Java程序员该试试Django?
我知道很多老Javaer对Python有偏见,觉得“脚本语言不严谨”、“动态类型太危险”。但我想说:工具没有高低,只有适不适合场景。
Django特别适合快速验证想法。比如你想做个博客、一个内部管理系统、一个API服务,用Django一天就能跑通MVP。而用Java,光搭Spring Boot + JPA + Security + Thymeleaf,没两天搞不定。
而且Django的“全栈感”很强:
- ORM 内置,不用手写SQL(当然你也可以)
- Admin 后台自动生成,省下80% CRUD界面
- 用户认证系统开箱即用
- 静态文件、模板、中间件……全都安排得明明白白
上周我用Django重写了公司一个内部数据看板,原来Java版要部署Tomcat、配Nginx、打WAR包,现在一个python manage.py runserver就能本地调试,部署用Gunicorn+Nginx,三行配置搞定。
同事问我:“你这Python项目,性能扛得住吗?”
我说:“日活不到一万,先跑起来再说。等真火了再优化,总比永远在设计阶段强。”
五、真实建议:别被“完美主义”困住
很多程序员(包括曾经的我)有个毛病:想等“完全准备好”再开始。
“等我把Python语法全学完再碰Django”
“等我把RESTful规范吃透再写API”
“等我把Docker、CI/CD全配好再上线”
结果呢?永远在准备,永远没产出。
我的经验是:边做边学,用项目驱动学习。哪怕只是做一个“今日吃什么”随机推荐的小网站,只要你部署上线了,你就打败了90%只看教程不动手的人。
另外,别迷信“最新技术”。我看到很多人一上来就学FastAPI、Starlette,觉得Django“老派”。但Django文档完善、社区成熟、坑少,对新手极其友好。就像我那本35块的二手书,虽然不是最新版,但核心思想一点没过时。
六、写在最后:35岁,代码照写,茶照饮
现在,我已经用Django接了两个外包小项目,虽然钱不多(一个收了8k),但至少证明我能用新技能赚钱。更重要的是,我又找回了写代码的乐趣——那种“一行命令建站”、“改个字段自动同步数据库”的爽感,是Java生态里久违的轻盈。
前几天和猎头聊天,对方听说我会Django+Python,直接把薪资范围从18-22k调到了22-28k。我没急着跳,但心里踏实多了。
有时候半夜醒来,看着熟睡的娃和床头那本卷了边的Django书,我会想:技术人的安全感,从来不是来自某个语言或框架,而是持续学习的能力。
35岁又怎样?只要还能敲代码,还能从“Hello World”里感受到快乐,我就还是那个老城区里不服输的老广程序员。
给想入门Django的朋友几点真心话:
- 别怕从Java转过来——你的工程思维是优势,不是包袱
- 买本靠谱的书(不一定新,但一定要有实战案例)
- 第一个项目越简单越好——博客、待办清单、天气查询都行
- 一定要部署上线——哪怕用免费的Render或Vercel
- 遇到问题先看官方文档——Django的文档是业界标杆
最后送大家一句我常对自己说的话:
“代码不会骗人,你敲多少,它就还你多少。”
共勉。
—— 一个还在越秀老屋敲键盘的35岁Django新手

评论 0