随笔分类 - flask
摘要:Jinja2模板引擎简介 模板 在前面的示例中,视图函数的主要作用是生成请求的响应,这是最简单的请求。实际上,视图函数有两个作用:处理业务逻辑和返回响应内容。在大型应用中,把业务逻辑和表现内容放在一起,会增加代码的复杂度和维护成本。本节学到的模板,它的作用即是承担视图函数的另一个作用,即返回响应内容
阅读全文
摘要:Flask-Script 扩展 通过使用Flask-Script扩展,我们可以在Flask服务器启动的时候,通过命令行的方式传入参数。而不仅仅通过app.run()方法中传参,比如我们可以通过: python hello.py runserver -host ip地址 以上代码告诉服务器在哪个网络接
阅读全文
摘要:Session 对于敏感、重要的信息,建议要存储在服务器端,不能存储在浏览器中,如用户名、余额、等级、验证码等信息 在服务器端进行状态保持的方案就是Session Session依赖于Cookie session数据的获取 session:请求上下文对象,用于处理http请求中的一些数据内容 @ap
阅读全文
摘要:上下文 上下文:相当于一个容器,保存了 Flask 程序运行过程中的一些信息。 Flask中有两种上下文,请求上下文和应用上下文 请求上下文(request context) 思考:在视图函数中,如何取到当前请求的相关数据?比如:请求地址,请求方式,cookie等等 在 flask 中,可以直接在视
阅读全文
摘要:Cookie Cookie:指某些网站为了辨别用户身份、进行会话跟踪而储存在用户本地的数据(通常经过加密)。 复数形式Cookies。 Cookie最早是网景公司的前雇员Lou Montulli在1993年3月的发明。 Cookie是由服务器端生成,发送给客户端浏览器,浏览器会将Cookie的key
阅读全文
摘要:状态保持 因为 http 是一种无状态协议,浏览器请求服务器是无状态的。 无状态:指一次用户请求时,浏览器、服务器无法知道之前这个用户做过什么,每次请求都是一次新的请求。 无状态原因:浏览器与服务器是使用 socket 套接字进行通信的,服务器将请求结果返回给浏览器之后,会关闭当前的 socket
阅读全文
摘要:request request 就是flask中代表当前请求的 request 对象,其中一个请求上下文变量(理解成全局变量,在视图函数中直接使用可以取到当前本次请求) 常用的属性如下: 属性说明类型 data 记录请求的数据,并转换为字符串 * form 记录请求中的表单数据 MultiDict
阅读全文
摘要:装饰器路由具体实现梳理 Flask有两大核心:Werkzeug和Jinja2 - Werkzeug实现路由、调试和Web服务器网关接口 - Jinja2实现了模板。 Werkzeug是一个遵循WSGI协议的python函数库 - 其内部实现了很多Web框架底层的东西,比如request和respon
阅读全文
摘要:异常捕获 HTTP 异常主动抛出 abort 方法 抛出一个给定状态代码的 HTTPException 或者 指定响应,例如想要用一个页面未找到异常来终止请求,你可以调用 abort(404)。 参数: code – HTTP的错误状态码 # abort(404) abort(500) 抛出状态码的
阅读全文
摘要:虚拟环境 为什么要搭建虚拟环境? 在开发过程中, 当需要使用python的某些工具包/框架时需要联网安装 比如联网安装Flask框架flask-0.10.1版本 sudo pip install flask==0.10.1 提示:使用如上命令, 会将flask-0.10.1安装到/usr/local
阅读全文
摘要:Flask简介 Web应用程序的本质 Web(World Wide Web)诞生最初的目的,是为了利用互联网交流工作文档。 Web框架 什么是Web框架? 协助开发者快速开发 Web 应用程序的一套功能代码 开发者只需要按照框架约定要求,在指定位置写上自己的业务逻辑代码 例如:在某个区需要成立一家医
阅读全文
摘要:正则匹配路由 在 web 开发中,可能会出现限制用户访问规则的场景,那么这个时候就需要用到正则匹配,根据自己的规则去限定请求参数再进行访问 具体实现步骤为: 导入转换器基类:在 Flask 中,所有的路由的匹配规则都是使用转换器对象进行记录 自定义转换器:自定义类继承于转换器基类 添加转换器到默认的
阅读全文
摘要:视图常用逻辑 返回 JSON 重定向 url_for 自定义状态码 返回JSON 在使用 Flask 写一个接口时候需要给客户端返回 JSON 数据,在 Flask 中可以直接使用 jsonify 生成一个 JSON 的响应 # 返回JSON @app.route('/demo4') def dem
阅读全文
摘要:路由基本定义 明确路由定义的参数,请求方式指定 PostMan 的使用 指定路由地址 # 指定访问路径为 demo1 @app.route('/demo1') def demo1(): return 'demo1' 给路由传参示例 有时我们需要将同一类 URL 映射到同一个视图函数处理,比如:使用同
阅读全文
摘要:from flask import Flask app = Flask(__name__) @app.route("/") def index(): return "hello" if __name__ == '__main__': app.run() Flask程序所在的包(模块),传 __nam
阅读全文