先别学前端,除非你想花三个月做的东西被别人一天就改成四不像。
我刚入行那会也觉得,Python后端加个简单页面不是信手拈来。前端那点东西,css、html、还有半懂不懂的jQuery,网上模板多得很。我一个写逻辑的,搞个界面能有多难。结果项目第一个坑就砸在我脸上。
后端接口调通了,数据清洗的代码跑得飞快。领导让我给客户搭个演示用的小后台。我翻出一套免费bootstrap模板,改改就往上套。那几天我通宵搞出来的页面,在Chrome里看着还行。第二天客户用手机打开,按钮全叠在一起,表格撑出了屏幕。客户的老板当场说你们这产品不成熟。
我那时候才明白,后端跑得再快,用户看不见等于白干。前端不是装饰,是产品的脸面。你的Python代码再优雅,用户第一眼看的是页面上的输入框和数据表格。
后来我学聪明了点。跟公司前端同事搭伙做项目,我在后面写Flask和Django,他专管界面。配合起来挺顺,但问题又来了。他改个按钮样式要调半天,我的接口都写完了还在等他。项目延期了,老板说你们俩效率太低。不懂前端的Python开发者,连跟前端同事吵架都找不到重点。
你问我学Python到底要不要学前端。我的回答是,不一定要精通,但不能一窍不通。你得知道http请求怎么传数据,知道json在前端怎么解析。你得会调试浏览器开发者工具,别遇到跨域问题就原地懵圈。你得懂基础的html标签,知道什么数据放表格,什么数据放列表。
我接手过一个老项目,后端是纯Python写的数据处理模块。前任开发者把接口逻辑写得很漂亮,但前端页面用的是上古时期的table布局。客户要加个导出excel功能,前端愣是折腾了两周。后来我花半天用现成的js库给改了。不是我会前端,是我知道前端有现成轮子可以借。你如果什么都不懂,连搜关键词都不知道搜什么。
学一点点前端,不是为了去跟专业前端抢饭碗。是为了保护自己的劳动成果。你辛苦写完的Python代码,最后展示给用户的是一堆乱糟糟的页面,老板只会觉得你水平差。哪怕你只会用框架搭个最简单的后台管理界面,也比什么都不做强。
我个人的做法是,只学最小必要知识。html的基本标签,css的flex布局和简单的颜色字体控制,javascript的fetch和基本的DOM操作。加上一个你熟悉的框架模板语言,比如Flask的Jinja2。这些花不了一周,但能让你在项目里活下来。
有个事情很现实。小公司或者初创团队里,根本养不起专职前端。Python开发者常常得自己扛起前端活。你这时候说我只会后端的逻辑,那就等着项目烂在手里。真实项目从来不会等你学会所有东西再开始。你得能上手,哪怕页面丑一点,起码能跑通流程。
说句掏心窝的话。我刚工作头两年,就是死磕后端,觉得前端是小儿科。直到有一次我做完一个数据分析项目,自己搭的展示页面实在太难看。客户看不下去,找了别人重新做。人家把同样的数据拿过去,换了个好看的图表库和页面布局,客户就叫好。我的Python代码一个字没改,功劳全成别人的了。那种感觉真的很窝囊。
所以我的建议很简单。你如果还在犹豫要不要学,就去学点基础的。不需要成为前端专家,但要成为能独立交付的开发者。你的Python能力是你的核心,懂一点点前端,能让你的核心被更多人看见。
这条路上我摔过的跤,希望你能绕过去。