其实写网站之前应该先了解一下浏览器、服务器、http、html、css等等这些东西,我们直接一些,先写一个再说,这样比较直观,后面再回过头聊这些东西也会更容易理解。
网站需要用什么语言来写?我的理解是所有的高级语言都可以,比如C语言、C++、C#、Java、PHP,当然Python也可以,前面介绍过编程语言就像食物种类一样繁多,我们也不讨论到底哪种语言更好,今天就动手用Python来写一个网站,看看到底能有多简单。
要开始写代码了是不是有点激动?我也是。先看看要准备什么工具,这里不妨告诉大家一个秘密:世界上最好用的写代码工具叫做Google,实在没办法用百度也行。不过我们暂时用不到这么高级的工具,先从最基础的来,首先需要一台电脑,有很多程序员尤其是年轻的码农,是一定要用苹果电脑的,因为这玩意儿贵,不对,酷。当然苹果电脑也是有一些实际优势的,主要是因为它的操作系统Mac OS是基于Unix架构的,而另外一种基于Unix架构的操作系统叫做Linux,很多软件在这两种操作系统平台下有类似的版本,它们的命令行操作方式也是类似的,而Linux是开源的,程序员都喜欢开源的东西,因为大家写的代码都可以共享,相当于能力翻倍加持,May the Force be with you!
这里提到几个陌生的名词,像是操作系统、MacOS、Unix、Linux、命令行、开源等等,这些你都可以请教Google,每个名词都够解释一本书的篇幅,不过不用担心,这些对于我们写代码不会造成太大的障碍,等用到的时候再去查也是可以的。对于最后一句英文则要去看一部叫做《星球大战》的电影才能了解。
好,有了苹果电脑,应该就同时有了Python环境,不信?给你看一下:
在苹果电脑里打开一个叫终端的App,红框里是我敲进去的命令,蓝框里则是终端程序对命令作出的回应,这个App似乎在用它蹩脚的英文嘲笑我:你的电脑太旧了所以预装了Python2.7,新款的电脑已经不用这个了,等你有钱换电脑的时候,记得使用Python3。哼!我就不换,看你把我怎么着,Python3也没什了不起:
有没有看到上面这个exit(),对,这就是一句Python代码,不知不觉中我们已经开始写代码了,这一句就是对前面无情嘲笑的反击:把Python2.7给退出去了。原来写代码这么简单,一鼓作气,我们正式开始吧,为了方便文本编辑,再安装一个叫做VS Code的App,具体用法自行了解,找一个文件夹创建两个文件:index.html和webServer.py,里面的代码如下:
第一个文件决定网页的显示内容,我们这里只显示Hello World!几个字;第二个文件是一段Python代码,其中带#的绿色文字叫做注释,是给人看、方便理解的,没有其他用处。从注释可以看出这个网站的工作流程就是服务器从一个叫浏览器的地方接收到一串文字请求,将请求打印出来并根据其中的内容选择将某个HTML文件内容返回给浏览器。我们来看下效果,这回用Python3来启动网站,在Chrome浏览器中访问http://localhost:8000查看效果:
你可能发现代码不到100行啊?是的我撒谎了,其实根本不需要100行代码,1行都不需要,用下面这种方式启动效果是一样的(完全不需要webServer.py这个文件):
以上是使用Python创建网站最基本的示例,不会有人用这个方法去写网站的,如果真的打算用Python建站的话,建议去了解一下Flask框架。好了好了,今天的内容有点多,而且用到了很多陌生的名词,诸如服务器、浏览器之类,我们有必要结合网站的工作原理解释一下这两个名词,不过在这之前先聊一聊写好的代码应该如何保存,下回见!
原文始发于微信公众号(EZApps):试试用100行代码写一个网站