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

来源:互联网 发布:js正则表达式匹配括号 编辑:程序博客网 时间:2024/05/17 06:42

        在介绍flask中的request之前,先简单介绍下python中的ThreadLocal对象。ThreadLocal,故名思义,就是线程中的全局变量,最近才接触这个概念,之前在C++和C#中还没遇到过这个东西尴尬。首先看下下面的代码:

        

import threadinglocalobj=threading.local()def threadfunc(name):    localobj.name=name    print 'localobj.name is %s' %nameif __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 Flaskfrom flask import requestapp=Flask(__name__)@app.route('/')def index():    user_agent=request.headers.get('User_Agent')    return 'user_agent is %s' %user_agentif __name__=='__main__':    app.run()

     启动浏览器时,输入 localhost:5000:


Github位置:
https://github.com/HymanLiuTS/flaskTs

克隆本项目:
git clone Git@github.com:HymanLiuTS/flaskTs.git
获取本文源代码:
git checkout FL02


0 0
原创粉丝点击