您的位置:首页 > 产品设计 > UI/UE

用flask开发个人博客(2)—— Flask中的请求对象request

2016-09-15 07:37 417 查看
        在介绍flask中的request之前,先简单介绍下python中的ThreadLocal对象。ThreadLocal,故名思义,就是线程中的全局变量,最近才接触这个概念,之前在C++和C#中还没遇到过这个东西

。首先看下下面的代码:

        

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐