随笔分类 -  flask

摘要:wsgiref 是Python标准库给出的 WSGI 的参考实现。 wsgiref是官方给出的一个实现了WSGI标准用于演示用的简单Python内置库,它实现了一个简单的WSGI Server和WSGI Application(在simple_server模块中) WSGI是Python Web 开 阅读全文
posted @ 2015-05-22 13:02 南哥的天下 阅读(350) 评论(0) 推荐(0)
摘要:Werkzeug 是一个WSGI工具包,也可以作为一个Web框架的底层库。 在介绍Werkzeug之前,先介绍一下 WSGI(Python Web Server Gateway Interface),它为Python语言定义的Web服务器和Web应用程序或框架之间的一种简单而通用的接口。这是一个规范 阅读全文
posted @ 2015-04-24 22:25 南哥的天下 阅读(743) 评论(0) 推荐(0)
摘要:数据库连接池SQLAlchemy中多线程安全的问题 1、数据库模块model.py 2、业务模块thread.py 错误示范: 错误解析:看了SQLAlchemy之后源码发现,Session() 返回的是一个threading.local()对象的成员变量,threading.local()对象只有 阅读全文
posted @ 2015-04-24 17:51 南哥的天下 阅读(2221) 评论(0) 推荐(0)
摘要:本文将介绍WSGI协议的原理,并亲自实现一个符合协议规范的WSGI server WSGI,是Python Web Server Gateway Interface的简称,是web底层跟application解耦的协议,我们的web服务器使用WSGI协议来调用application称为WSGI se 阅读全文
posted @ 2015-03-30 14:56 南哥的天下 阅读(1523) 评论(0) 推荐(0)
摘要:flask_sqlalchemy是如何在多线程中对数据库操作不相互影响 数据库操作隔离 结论:使用scoped_session实现数据库操作隔离 flask的api.route()接收一个请求,就会创建一个新的线程去处理,请求之间不相互影响 flask_sqlalchemy是如何使用db.sessi 阅读全文
posted @ 2015-01-04 09:09 南哥的天下 阅读(541) 评论(0) 推荐(0)
摘要:SQLAlchemy外键关联使用及其详细说明 SQLAlchemy数据库增删改查 https://www.jianshu.com/p/b7704b6cb2eeORM是需要了解的:Object-Relational Mapping,把关系数据库的表结构映射到对象上,在Python中,ORM框架是SQL 阅读全文
posted @ 2014-12-19 18:42 南哥的天下 阅读(454) 评论(0) 推荐(0)
摘要:1. 小记 最近在学习Flask这个Web框架, 相比于Django, Flask算的上是微型的Web框架了,他只有路由和模板渲染两个功能, 想干别的事都需要使用插件. 好在目前的插件数量也不少, 也不乏一些十分好用的插件, 让Flask在企业Web应用开发中还是有一席之地的(我听说知乎就是用的Fl 阅读全文
posted @ 2014-12-17 12:28 南哥的天下 阅读(7196) 评论(0) 推荐(1)
摘要:源码解读:Flask上下文与代理模式 在上一节中,我跟大家一起深入了解了一下Python的「上下文管理器 」。而今天呢,还是和上下文有关的话题。只不过这里的上下文和上一节的内容有点不一样,上下文管理器是管理代码块级别的上下文,而今天要讲的上下文是工程项目中的上下文。 可能你现在对上下文这个概念,还是 阅读全文
posted @ 2014-12-15 10:54 南哥的天下 阅读(1283) 评论(0) 推荐(0)
摘要:使用Response类的set_cookie()方法可以设置cookie: Response.set_cookie( key, //键 value='', //值 max_age=None, //秒为单位的cookie寿命,None表示http-only expires=None, //失效时间,d 阅读全文
posted @ 2014-12-14 19:51 南哥的天下 阅读(1734) 评论(0) 推荐(0)
摘要:设置响应信息的方法 1. 返回自定义的响应头,有两种方式: (1) 第一种是:视图函数return的时候,使用元组,返回自定义的信息 返回的时候的状态码可以自定义信息:"状态码 自定义的信息", 例如: 可以把下面代码中的400,改成自定义的状态码: "666 custom info" 访问网页后, 阅读全文
posted @ 2014-12-14 18:37 南哥的天下 阅读(3945) 评论(0) 推荐(0)
摘要:在Flask中处理请求时,应用会生成一个“请求上下文”对象。整个请求的处理过程,都会在这个上下文对象中进行。这保证了请求的处理过程不被干扰。处理请求的具体代码如下: 在Flask 0.9版本之前,应用只有“请求上下文”对象,它包含了和请求处理相关的信息。同时Flask还根据werkzeug.loca 阅读全文
posted @ 2014-11-22 09:42 南哥的天下 阅读(441) 评论(0) 推荐(0)
摘要:阅读目录 楔子 离线脚本 flask的多app应用 为什么用栈 楔子 我在之前的文章《flask源码解析之上下文》中对flask上下文流程进行了详细的说明,但是在学习的过程中我一直在思考flask上下文中为什么要使用栈完成对请求上下文和应用上下文的入栈和出栈操作,而且栈所维护的无非不就是一个列表,我 阅读全文
posted @ 2014-10-26 10:21 南哥的天下 阅读(1439) 评论(0) 推荐(2)
摘要:了解了HTTP协议和HTML文档,我们其实就明白了一个Web应用的本质就是: 浏览器发送一个HTTP请求; 服务器收到请求,生成一个HTML文档; 服务器把HTML文档作为HTTP响应的Body发送给浏览器; 浏览器收到HTTP响应,从HTTP Body取出HTML文档并显示。 所以,最简单的Web 阅读全文
posted @ 2014-09-13 12:59 南哥的天下 阅读(1441) 评论(0) 推荐(0)
摘要:Flask 是一个 Python 实现的 Web 开发微框架, 有丰富的生态资源。本文从一段官方的示例代码通过一步步打断点方式解释 Flask 内部的运行机制,在一些关键概念会有相关解释,这些前提概念对整体理解 Flask框架十分重要,本文基于flask 0.1 版本进行相应的分析。 官方demo示 阅读全文
posted @ 2014-06-08 15:14 南哥的天下 阅读(10848) 评论(0) 推荐(1)
摘要:相信很多初学Flask的同学(包括我自己),在阅读官方文档或者Flask的学习资料时,对于它的认识是从以下的一段代码开始的: 运行如上代码,在浏览器中访问http://localhost:5000/,便可以看到Hello World!出现了。这是一个很简单的Flask的应用。 然而,这段代码怎么运行 阅读全文
posted @ 2014-06-08 10:20 南哥的天下 阅读(307) 评论(0) 推荐(0)
摘要:flask之信号 Flask框架中的信号基于blinker,其主要就是让开发者可是在flask请求过程中定制一些用户行为。 pip3 install blinker 1. 内置信号 request_started = _signals.signal('request-started') # 请求到来 阅读全文
posted @ 2014-06-07 14:49 南哥的天下 阅读(416) 评论(0) 推荐(0)
摘要:使用flask-sqlalchemy写代码码到一半,突然想到,Session是否是线程安全的?于是上官方文档,答案是否! 那问题来了,怎么破?因为它会牵涉到多线程情况下,调用rollback导致的不可预期影响。 官网给了两个方案: 使用 Contextual/Thread-local Session 阅读全文
posted @ 2014-05-31 19:51 南哥的天下 阅读(3283) 评论(0) 推荐(0)
摘要:阅读目录 引入 源码解析 引入 对于flask而言,其请求过程与django有着截然不同的流程。在django中是将请求一步步封装最终传入视图函数的参数中,但是在flask中,视图函数中并没有请求参数,而是将请求通过上下文机制完成对请求的解析操作。 流程图镇楼: 源码解析 0. 请求入口 对于每次请 阅读全文
posted @ 2014-05-14 23:38 南哥的天下 阅读(879) 评论(0) 推荐(0)