零基础学Python:用tornado做网站(7)

到上一节结束,其实读者已经能够做一个网站了,但是,仅仅用前面的技术来做的网站,仅能算一个小网站,在《为做网站而准备》中,说明之所以选tornado,就是因为它能够解决c10k问题,即能够实现大用户量访问。要实现大用户量访问,必须要做的就是:异步。除非你是很土的土豪。相关概念同步和异步有不少资料对这两个概念做了不同角度和层面的解释。在我来看,一个最典型的例子就是打电话和发短信。打电话就是同步。张三给

零基础学Python:用tornado做网站(6)

在上一节中已经对安全问题进行了描述,另外一个内容是不能忽略的,那就是用户登录之后,对当前用户状态(用户是否登录)进行判断。用户验证用户登录之后,当翻到别的目录中时,往往需要验证用户是否处于登录状态。当然,一种比较直接的方法,就是在转到每个目录时,都从cookie中把用户信息,然后传到后端,跟数据库验证。这不仅是直接的,也是基本的流程。但是,这个过程如果总让用户自己来做,框架的作用就显不出来了。to

零基础学Python:用tornado做网站(5)

模板继承用前面的方法,已经能够很顺利地编写模板了。读者如果留心一下,会觉得每个模板都有相同的部分内容。在python中,有一种被称之为“继承”的机制(请阅读本教程第贰季第肆章中的[类(4)(./209.md)中有关“继承”讲述]),它的作用之一就是能够让代码重用。在tornado的模板中,也能这样。先建立一个文件,命名为base.html,代码如下:接下来就以base.html为父模板,依次改写已

零基础学Python:用tornado做网站(3)

数据传输在已经建立了前端表单之后,就要实现前端和后端之间的数据传递。在工程中,常用到一个被称之为ajax()的方法。关于ajax的故事,需要浓墨重彩,因为它足够精彩。ajax是“Asynchronous Javascript and XML”(异步JavaScript和XML)的缩写,在它的发展历程中,汇集了众家贡献。比如微软的IE团队曾经将XHR(XML HttpRequest)用于web浏览器

零基础学Python:用tornado做网站(4)

模板已经基本了解前端向和后端如何传递数据,以及后端如何接收数据的过程和方法之后。我突然发现,前端页面写的太难看了。俗话说“外行看热闹,内行看门道”。程序员写的网站,在更多时候是给“外行”看的,他们可没有耐心来看代码,他们看的就是界面,因此界面是否做的漂亮一点点,是直观重要的。其实,也不仅仅是漂亮的原因,因为前端页面,还要显示从后端读取出来的数据呢。恰好,tornado提供比较好用的前端模板(tor

零基础学Python:用tornado做网站(1)

从现在开始,做一个网站,当然,这个网站只能算是一个毛坯的,可能很简陋,但是网站的主要元素,它都会涉及到,读者通过此学习,能够了解网站的开发基本结构和内容,并且对前面的知识可以有综合应用。基本结构下面是一个网站的基本结构前端这是一个不很严格的说法,但是在日常开发中,都这么说。在网站中,所谓前端就是指用浏览器打开之后看到的那部分,它是呈现网站传过来的信息的界面,也是用户和网站之间进行信息交互的界面。撰

零基础学Python:用tornado做网站(2)

既然摆好了一个网站的架势,下面就可以向里面填内容。连接数据库要做的网站,有数据库支持,虽然这不是必须的,但是如果做一个功能强悍的网站,数据库就是必须的了。接下来的网站,我暂且采用mysql数据库。怎么连接mysql数据呢?其方法跟《mysql数据库(1)》中的方法完全一致。为了简单,我也不新建数据库了,就利用已经有的那个数据库。在上一节中已经建立的文件夹methods中建立一个文件db.py,并且