tornado
青盏
这个作者很懒,什么都没留下…
展开
-
tornado 7、文件上传下载,验证码直接渲染到浏览器
一.上传文件class MemberEditHandler(BaseHandler): @tornado.web.authenticated def get(self,num): self.write(json.dumps({"status":1})) @tornado.web.authenticated def post(self,non):原创 2016-08-16 16:59:27 · 1017 阅读 · 0 评论 -
tornado 6、js,css,img的静态路径
一.定义静态路径tornado通过设置静态路径来帮助我们自动构建js,image,css的路径。这样当我们移动静态文件时就不用修改html模板中路径,而只需修改静态路径值。可以通过向Application类的构造函数传递一个名为static_path的参数来告诉Tornado静态文件的路径,详情可以看《tornado 1. 项目结构初入》。settings = { 'static_path原创 2016-08-16 17:03:17 · 1139 阅读 · 0 评论 -
tornado 5、模板扩展
一.介绍为了减少重复写相同代码,tornado提供代码基础与block功能来减少我们工作量。假设我们在模板路径下有两个模板:index.html,base.html。其中 二.继承template base.html内容如下: <!DOCTYPE html> <html> <head> <title></title> </head> <body原创 2016-08-16 17:09:00 · 533 阅读 · 0 评论 -
tornado 4、模板使用
一.定义模板地址首先我们需要定义一下模板所在地址,让tornado知道去哪里找模板,一般我们把地址写在入口文件中,详情可以看《tornado 1. 项目结构初入》。下列代码static_path的值就是模板的地址。settings = { template_path=os.path.join(os.path.dirname(__file__),"template"), 'debu原创 2016-08-16 17:13:31 · 1758 阅读 · 0 评论 -
tornado 3、获取参数的几种方式
一.通过路由正则参数tornado路由可以使用正则表达式中的子表达式传递url参数。比如:(r"/member//(\w*)/([01]*)", MemberHandler),匹配以后,tornado会将字符串()中匹配到的内容,作为参数传递到MemberHandler中去,因此我们在MemberHandler中定义get方法时增加参数:class MemberHandler(tornado.web原创 2016-08-16 17:15:31 · 26602 阅读 · 1 评论 -
tornado 2、路由参数
一.简介tornado根据路由调用对应handler类。路由参数是一个元组列表,使用正则表达式匹配URL域名后面,但是不包括参数(url中?部分)和碎片(url中#部分)。 return tornado.web.Application([ (r"/", MainHandler), ])二.注意1.使用正则表达式不匹配参数(url中?部分)和碎片(url中#部分); 2原创 2016-08-16 17:17:36 · 4876 阅读 · 0 评论 -
tornado 1、项目结构初入
用tornado也写过两个网站了,tornado学起来简单快速。今天把我的学习过程以及在写网站中遇到的一些问题给记录下来。按照我的教程的顺序,很快就能构建一个简单网站。一.安装python依赖库一般通过easy_install或者pip安装。我使用pip直接安装成功。pip install tornado二.入口文件入口文件就是当浏览器访问时,首先会运行这个文件。也是我们启动tornado的文件,只原创 2016-08-16 17:20:11 · 1275 阅读 · 0 评论 -
tornado 8、用户登录验证 secure_cookie
一、介绍 目前大多数服务器判断用户是否登录一般通过session机制,Tornado 通过 set_secure_cookie 和 get_secure_cookie 方法直接支持了这种功能。原理类似于session,只不过session是服务器自动生成一个sessionID存储在cookie里,而tornado需要我们手工设cookie。然后通过self.current_user的重载函数就可以原创 2016-08-20 21:50:12 · 9750 阅读 · 0 评论 -
tornado 9、torndb模块mysql数据库连接
一、安装 这里我是用的是torndb,从tornado中分离出的一个模块。torndb是基于mysqldb的再封装,我们使用时要先安装,myqldbeasy_install mysqldbeasy_install torndb二、连接import torndbdb = torndb.Connection("127.0.0.1:3306","dbname",user="root",password原创 2016-08-20 22:16:00 · 2593 阅读 · 0 评论 -
tornado 10、网站安全问题
实际使用过程中,网站总是会遇到这样那样安全问题,以下是我基于tornado网站做的一些防护。一、用户验证问题 首先用户登录使用安全cookie,见《tornado 8、用户登录验证 secure_cookie》。在登录过程中我们还可以对用户密码进行加密,即使数据被获取,也得不到用户的真实密码。 一般对密码加密,我们可以使用不可逆算法,如md5等。但是这样只是避免用户密码暴露,如果坏人知道了M原创 2016-08-20 22:51:11 · 569 阅读 · 0 评论 -
tornado 11、部署生产环境
一、后台运行 一般调试过程中我们使用python app.py运行网站,方便我们在命令行中看运行状况。 但在生产环境下我们需要后台运行网站。我们可以使用linux的nohup命令。nohup python app.py >> log/app.log &二、supervisor守护进程使用nuhup可以后台运行一个进程,但是一旦网站出现错误,进程关闭,网站将会停止运行。这时候就需要supervis原创 2016-08-20 23:10:29 · 5491 阅读 · 0 评论 -
tornado 12、生产模式部署到服务器过程中遇到的一些命令
按照我部署过程的顺序一.linux常见命令创建文件夹: mkdir dirname mkdir /home/dirname 删除文件,夹: rm -rf /home/dirname (r向下递归,f强制删除) rm -rf /home/dirname/* (文件夹下所有文件) 修改文件,夹: mv /home/dirname /home/anothername原创 2016-08-16 18:20:09 · 1206 阅读 · 0 评论