用flask开发个人博客(2)—— Flask中的请求对象request
2016-09-15 07:37
417 查看
在介绍flask中的request之前,先简单介绍下python中的ThreadLocal对象。ThreadLocal,故名思义,就是线程中的全局变量,最近才接触这个概念,之前在C++和C#中还没遇到过这个东西
。首先看下下面的代码:
localobj就是一个Threadlocal对象,他对于每个线程来说是全局的,但是对于不同线程之间又可以保持不同。而flask中的请求对象request就由是这类对象。在多线程服务器中客户端每建立一个链接,服务器就创建一个线程,每个线程中就会有一个request来表示客户端的链接请求信息。
启动浏览器时,输入 localhost:5000:
Github位置:
https://github.com/HymanLiuTS/flaskTs
克隆本项目:
git clone Git@github.com:HymanLiuTS/flaskTs.git
获取本文源代码:
git checkout FL02
。首先看下下面的代码:
import threading localobj=threading.local() def threadfunc(name): localobj.name=name print 'localobj.name is %s' %name if __name__=='__main__': t1=threading.Thread(target=threadfunc,args=('Hyman',)) t2=threading.Thread(target=threadfunc,args=('liuzhihui',)) t1.start() t2.start() t1.join() t2.join()
localobj就是一个Threadlocal对象,他对于每个线程来说是全局的,但是对于不同线程之间又可以保持不同。而flask中的请求对象request就由是这类对象。在多线程服务器中客户端每建立一个链接,服务器就创建一个线程,每个线程中就会有一个request来表示客户端的链接请求信息。
from flask import Flask from flask import request app=Flask(__name__) @app.route('/') def index(): user_agent=request.headers.get('User_Agent') return 'user_agent is %s' %user_agent if __name__=='__main__': app.run()
启动浏览器时,输入 localhost:5000:
Github位置:
https://github.com/HymanLiuTS/flaskTs
克隆本项目:
git clone Git@github.com:HymanLiuTS/flaskTs.git
获取本文源代码:
git checkout FL02
相关文章推荐
- 用flask开发博客(2)---- Flask中的请求对象request
- 用flask开发个人博客(15)—— flask中四种请求钩子
- 用flask开发个人博客(26)—— 利用config.py配置文件动态的创建不同的Flask对象
- 用flask开发个人博客(27)—— 利用程序工厂函数创建Flask程序对象并注册蓝本
- 用flask开发个人博客(3)—— flask中的请求和视图函数映射
- 用flask开发个人博客(28)—— 利用unittest进行单元测试
- 用flask开发个人博客(10)—— Jinja2模板中的控制结构
- 用flask开发个人博客(14)—— flask中本地化时间的引用
- 用flask开发个人博客(23)—— flask中的数据模型关系
- 用flask开发个人博客(4)—— flask中4种全局变量
- 用flask开发个人博客(5)——flask中的四种响应类型
- 用flask开发个人博客(20)—— 利用模型创建数据库
- 用flask开发个人博客(24)—— flask中使用Flask_Mail发送电子邮件
- 用flask开发个人博客(22)—— 使用Flask-Migrate实现数据库的更新
- 用flask开发个人博客(17)—— Flash消息
- 用flask开发个人博客(8)—— flask中的模板
- 用flask开发个人博客(12)—— 自定义错误界面
- Web开发中的四个域对象: page(jsp有效) request(一次请求) session(一次会话) application(当前web应用)
- Python Flask Web 第八课 —— request 请求对象
- 用flask开发个人博客(9)—— Jinja2模板中的变量