听闻:Google内部只使用C/C++,Java和Python三种语言,足以见得Python在未来的发展前景。此前两篇关于Python的学习笔记分别介绍了一些基本知识和爬网页的相关技巧,这一篇着重介绍学习Python在Web方面的入门。
在开始之前先说明两点:
1. 因为“系列笔记”是记录学习Python的过程而非Web架构,所以此篇选了一个相对简单的Karrigell架构作为例子;
2.“系列笔记”不会严格按照由浅入深的套路走,每一篇都相当于是一个独立的知识点。
那么什么是Web架构呢?大白话就是大牛们设计了这么一种基础设施:能高效且系统且模板化地进行Web开发。因此,有人把php语言和Python Web架构(Django,Karrigell)相互比较是不对的,因为两者根本就不是一种东西,而我虽然接触php也有一段时间了,但是并不看好它,一来php上手太容易了,必定会导致基础不牢,这个不牢不是指学习的人,而是指PHP语言本身;二来php并没有提供知名的Web架构,在愈来愈追求高效开发的未来时代,朴素的php不知道能不能撑住。
Karrigell我们可以读成:karr-igell;和典型的LAMP(linux+apache+mysql+php)不同,Karrigell把它们(除了mysql)都集合在一起了。所以少了很多配置错误可能的问题,它甚至可以和Apache同时在一个主机上工作。下面以两个例子说明Karrigell的入门使用:
一:确保你的机子上已经安装好Python,而且版本不能低于你接下来下载的Karrigell要求的版本,最保险的是安装最新的Python。
二:在这里下载Karrigell,例如我下载了:Karrigell-3.1.1.tar.gz.解压在任意文件目录下。
三:进入文件根目录,我们介绍三个对于本篇最主要也是对新手最主要的三个文件(目录)。
1.www目录,这个很容易理解,就是你网站的根目录;
2.server_config.py服务器的配置信息,你可以在这里配置诸如端口号等;
3.Karrigell.py,在命令行下执行python Karrigell.py便可以启动服务器,相当于开了Apache一样。此时在浏览器输入localhost便可以看到首页了。
四:我们不妨来Hello World一下,在www目录下新建hello.py如下所示:
print "Hello World"
然后在浏览器输入:localhost/hello.py便可以看到输出了~
五:下面我们来一个稍微复杂点的例子,理解Karrigell架构是如何通过GET/POST来传递信息的,我们修改hello.py如下:
#FORM,INPUT,HTML这些可以理解成html语言的标签,因为是入门,所以也不多说了
from HTMLTags import *
form = FORM(action="sayhi")
form <= INPUT(name = "name")
form <= INPUT(Type = "submit", value = "OK")
print HTML(BODY(form))
再新建一个sayhi.py文件:
print "Hello"+QUERY['name']
此时你刷新:localhost/hello.py并在页面表达里输入你的姓名,点击OK,便可以看到Hello XXX的信息了。
六:总结一番,虽然我们只写了两个不能再简单的例子,但是我们可以看出和php很明显的不同,你完全不用写任何html标签的语句!而本人在写php时最揪心的就是老是在php和html之间来回切换,弄得狼狈不堪。