这可能会是你上线的第一个项目
很多学完编程入门教程,了解 Python 语法基础的同学都会有这样一个疑问:
接下来我该干嘛?
这个问题很重要。因为有太多的同学在入门之后,因为不知道能用代码做些什么,就把写代码这件事给放下了。几个月之后回头看,发现之前学的已然忘记了大半。
所以 Python 能做什么?
Python 本身是一个很好用的“工具”,有人把它比作瑞士军刀,短小精悍。如果你平常做文职工作,经常和文件、数据打交道,那你会有很多机会用 Python 来提升你的工作效率。
但如果你不满足于此,而是要做一个“开发者”,那么只了解 Python 的基础语法仅仅是开始。就好比你是一个电工,Python 只是你的工具箱,会用工具是不够的,要上岗的话,你还得懂相应的“专业知识”。
Python 比较常见的应用方向有:网络爬虫、Web开发、数据分析、人工智能、服务器运维、测试……很多方向会用到 Python,但不代表你学了 Python 就会了这些。每个方向都需要进一步的学习和实践。
其中的 Web 开发,通俗来说就是做网站,更准确来讲是“后端”。PC上的网站、手机上的移动网页、苹果/安卓的App、微信小程序,包括一些网络游戏,在技术原理上是相通的。这些应用都分为前端和后端,前端是用户看的界面,负责交互和显示;后端是网站服务器上的代码,负责处理业务逻辑、读写数据等。根据平台的不同,前端可以是 HTML、App、小程序……后端则都可以通过 Python 来实现。
我们开发这类程序,一般不会从头开始写,而是用现成的“框架”。Python 里比较常用的 Web 框架有 Django、Flask、Tornado、web.py、Sanic 等等。其中 Django 是一个比较成熟的框架,在易用性和稳定性方面都有不错的表现。同时因为用的人多,相关的文档、第三方扩展模块、社区讨论都很丰富,不太会出现你遇到一个问题全网都找不到解答的情况。我们编程教室的教学网站、小程序和很多案例代码,都是基于 Django 开发的。不少互联网公司也会选择 Django 作为开发框架。
所以对于 Web 开发方向的教学,我们首选 Django 作为教学框架。
Django 的官方文档写得很详细,上面就带有一个快速上手的例子,现在也有了中文版本。另外,网上有一个蛮有名的开源教程叫《Django Girls》,也是面向初上手 Django 编写的,除了教你如何使用 Django 开发一个简易博客外,还教你怎么把它放在互联网上(基于一个叫 pythonanywhere 的平台)。想要学习 Django 的同学,不妨从这两个教程看起。(欢迎留言推荐其他优质教程)
不过尽管我认为 Django 的文档已经很不错了,但初次接触的学习者还是会踩到各种坑。因为在进阶实践时,你不再是局限于一个 py 文件里写几行代码,而是面对一个“项目”,面临的问题会成倍上升。
所以这次,我们开了一个面向 Django 开发的学习小组,我们在《Django Girls》的基础上做了一点修改(更新了所用版本,完善了一些有歧义的部分),作为小组的学习资料。同时我们会组织每周2次的集中讨论,以及每天在群里答疑,为你们最终上线自己的网站保驾护航。
这个我们修改后的《Django Girls》放在了网站 python666.cn 上,大家可以免费学习。但答疑是件很耗费精力的事情,所以我们只对码上行动的学员开放。第一次集中讨论将于11月1日晚进行。