传送门 来自作者的PPT https://speakerdeck.com/mitsuhiko/advanced-flask-patterns?slide=46…
Flask中的Session非常的奇怪,他会将你的SessionID存放在客户端的Cookie中,使用起来也非常的奇怪 1. Flask 中 session 是需要 secret_key 的 from flask import session app = Flask(__name__) app.secret_key = "DragonFire" secret_key 实际上是用来加密字符串的,如果在实例化的app中没有 secret_key 那么开启session一定会抛异常的 2.…
是时候开始写个前端了,Flask中默认的模板语言是Jinja2 现在我们来一步一步的学习一下 Jinja2 捎带手把 render_template 中留下的疑问解决一下 首先我们要在后端定义几个字符串,用于传递到前端 STUDENT = {'name': 'Old', 'age': 38, 'gender': '中'}, STUDENT_LIST = [ {'name': 'Old', 'age': 38, 'gender': '中'}, {'name': 'Boy', 'age': 73,…
昨日内容回顾 1. 简述flask上下文管理 - threading.local - 偏函数 - 栈 2. 原生SQL和ORM有什么优缺点? 开发效率: ORM > 原生SQL 执行效率: 原生SQL> ORM 如:SQLAlchemy依赖pymysql 3. SQLAlchemy多线程连接的情况 一.flask标准目录结构 标准flask目录结构 Project name/ # 项目名 ├── Project name # 应用名,保持和项目名同名 │   ├── __init__.py #…
环境准备 在开始正式讲解之前,我们将首先进行环境准备. Step1:安装Python,pip以及nginx: sudo apt-get update sudo apt-get install python-pip python-dev nginx Step2:安装Python库:uwsgi和flask pip install uwsgi flask 创建Flask项目 下面,我们以一个简单的单文件Flask项目为例: 假设项目目录为/home/nianshi/flask_project. 编辑/…
Flask 入门一( flask 框架 和 flask-script 库) 一.Flask框架: 1.简介 Flask是一个非常小的Python Web框架,被称为微型框架:只提供了一个稳健的核心,其他功能全部是通过扩展实现的:意思就是我们可以根据项目的需要量身定制,也意味着我们需要学习各种扩展库的使用. 2.组成 1)WSGI系统.调试.路由 2)模板引擎(Jinja2,是Flask核心开发者人员开发的) 3)安装:pip install flask 4)视图函数使用说明 a: 路由末尾的'/…
一.web框架的对比 首先我们先来看下比较火的web框架 1.Django: 优点:大而全,所有组件都是组织内部开发高度定制化,教科书级别的框架 缺点:大到浪费资源,请求的时候需要的资源较高 2.Flask: 优势:小而精,组件只有session,第三方机构强烈支持Flask,非常多的三方组件,简单至极 缺陷:由于三方组件的关系,稳定性相对较差 Flask-session 3.Sanic 优势:异步IO非阻塞,原生WebSocket,小而精,组件只有Session,第三方机构强烈支持非常多的三方…
一.flask中的CBV 对比django中的CBV,我们来看一下flask中的CBV怎么实现? from flask import Flask, render_template, url_for, views app = Flask(__name__) class Login(views.MethodView): def get(self): print(url_for("my_login")) # /login return render_template("login.…
一.Flask对象的配置 Flask 是一个非常灵活且短小精干的web框架 , 那么灵活性从什么地方体现呢? 有一个神奇的东西叫 Flask配置 , 这个东西怎么用呢? 它能给我们带来怎么样的方便呢? 首先展示一下: from flask import Flask app = Flask(__name__) # type:Flask app.config["DEBUG"] = True 这句 app.config["DEBUG"] = True 可以实现的功能可刺激…
Flask中的Session非常的奇怪,他会将你的SessionID存放在客户端的Cookie中,使用起来也非常的奇怪 1. Flask 中 session 是需要 secret_key 的 from flask import session app = Flask(__name__) app.secret_key = "DragonFire" secret_key 实际上是用来加密字符串的,如果在实例化的app中没有 secret_key 那么开启session一定会抛异常的 2.…
Flask开发系列之Flask+redis实现IP代理池 代理池的要求 多站抓取,异步检测:多站抓取:指的是我们需要从各大免费的ip代理网站,把他们公开的一些免费代理抓取下来:一步检测指的是:把这些代理通过异步请求的方式,利用这些代理请求网站:如果能正常请求就证明代理可用,如果不能正常请求就证明代理不行,这时就可以把这个代理剔除掉,异步指的是:我们不需要一直等待代理请求网站,到得到response之后在执行相应的操作就可以了,异步可以提高检测效率. 定时筛选,持续更新:我们维护一个代理池,我们需…
目录 1.Jinjia2模板引擎 1.Jinjia2加载模板并传递数据到模板中 2.Jinjia2的模板语句 3.模板中特有的变量和函数 4.模板中内置的过滤器 5.自定义过滤器 6.模板继承 2.在flask中解决CSRF攻击 3.Flask-SQLAlchemy 1.Flask-SQLAlchemy简单介绍 2.安装 3.数据库连接设置 4.创建模型类 5.数据基本操作:增删改查 1.Jinjia2模板引擎 1.Jinjia2加载模板并传递数据到模板中 1.设置template_folder…
---------------------------------------------以下内容2017.7.14更新----------------------------------------------------- flask web(封面上是一条狗)这本书前7章讲了flask的基本概念,在第8章开始逐渐实现一个博客网站,建议读者从这一章开始创建自己的工程,跟着书中的进度迭代自己的博客网站,而不是直接使用git clone命令从作者的示例程序中checkout当前版本,这样做会遇到一…
很多人都说使用Python开发WEB应用非常方便,那么对于WEB新手来说,到底有多方便呢?本文即将展示给你Python的魔法. 本文将通过一个实例:Flask实现计算机资源的实时监控,迅速带你入门Flask开发. 先说一下我的水平,博主的专业并不是做WEB开发的,对于WEB方面,只会写爬虫,因此,只能看懂html,略看得懂css与js,我估计有很多像我一样的小伙伴,因此,如果你的WEB掌握的水平在我之上或与我相当,那么,这篇文章将是你迅速入门Flask的终极教程. 先放上一张成果图: 访问,浏览…
一.wtforms 类比Django的Form组件Form组件的主要应用是帮助我们自动生成HTML代码和做一些表单数据的验证 flask的wtforms用法跟Form组件大同小异参考文章:https://www.cnblogs.com/Zzbj/p/9966753.html 下载安装pip install wtforms 1.wtforms使用介绍 1. wtforms支持的字段和验证函数原文:https://blog.csdn.net/wuqing942274053/article/detai…
每个框架中都有处理请求的机制(request),但是每个框架的处理方式和机制是不同的 为了了解Flask的request中都有什么东西,首先我们要写一个前后端的交互 基于HTML + Flask 写一段前后端的交互 先写一段儿HTML form表单中提交方式是post  action地址是 /req 写好一个标准 form 表单,一点提交,搜就向后端提交一个POST请求过去了 后端的接收方式就 666 了 首先要从 flask 包中导入 request 模块 , 至于为什么要导入 request…
Flask中的路由系统其实我们并不陌生了,从一开始到现在都一直在应用 @app.route("/",methods=["GET","POST"]) 为什么要这么用?其中的工作原理我们知道多少? 请关注跟DragonFire学Flask 之 路由系统 ,这里有你想要的答案 1. @app.route() 装饰器中的参数 如果不明白装饰器 点击这里 methods : 当前 url 地址,允许访问的请求方式 @app.route("/inf…
在linux搭建flask开发环境: (1)virtualenv -p python3 flasky                ---创建虚拟环境 (2)source flasky/bin/activate                   ---进入虚拟环境 (3)pip install -r requirements/dev.txt -i https://pypi.tuna.tsinghua.edu.cn/simple      --安装依赖的包 -r common.txtForger…
一.上下文(Context) 什么是上下文: 每一段程序都有很多外部变量.只有像Add这种简单的函数才是没有外部变量的.一旦你的一段程序有了外部变量,这段程序就不完整,不能独立运行.你为了使他们运行,就要给所有的外部变量一个一个写一些值进去.这些值的集合就叫上下文. 譬如说在C++的lambda表达是里面,[写在这里的就是上下文](int a, int b){ ... }.--- 引用  vczh 当接受到一个请求时,我们通常将请求封装成一个HttpRequest对象,然后将对象传递给每一个视图…
WSGI WSGI:全称是Web Server Gateway Interface,WSGI不是服务器,python模块,框架,API或者任何软件,只是一种规范,描述服务器端如何与web应用程序通信的规范. Web应用程序的本质就是: 浏览器向服务器发送请求 服务器接受客户端请求,并解析 服务器端把HTML作为响应体发送给浏览器 浏览器拿取响应体渲染网页 在客户端和服务器端WSGI负责协议的转化,WSGI将web组件分为三部分:Web服务器.Web中间件.Web应用程序,当服务器接受到HTTP请…
一. flask简介 flask是一款非常流行的python web框架,出生于2010年,作者是Armin Ronacher,本来这个项目只是作者在愚人节的一个玩笑,后来由于非常受欢迎,进而成为一个正式的项目.目前为止最新的版本是1.0.2 flask自2010年发布第一个版本以来,大受欢迎,深得开发者的喜爱,并且在多个公司已经得到了应用,flask能如此流行的原因,可以分为以下几点: 微框架.简洁.只做他需要做的,给开发提供了很大的扩展性 flask和相关的依赖(Jinja2.Werkzeu…
一.flask请求上下文源码解读 通过上篇源码分析,我们知道了有请求发来的时候就执行了app(Flask的实例化对象)的__call__方法,而__call__方法返回了app的wsgi_app(environ, start_response)方法的执行结果,而wsgi_app方法中有这样一句话:ctx = self.request_context(environ),还分析除了ctx是RequestContext类的实例化对象,而且ctx中含有有本次请求的request对象和session对象.…
数据模型 数据库回顾 分类: 关系型数据库:MySQL.sqlite.… 非关系型数据库:Redis.MongoDB.… 操作: 执行原生SQL语句,每次都需要拼接SQL语句,非常繁琐而且特别容易出错. ORM(对象关系映射),使用ORM可以通过对对象的操作完成对数据库的操作. flask-sqlalchemy 说明:其实是sqlalchemy扩展库在flask中的移植库,通过了绝大多数关系型数据库的支持(ORM) 安装:pip install flask-sqlalchemy 连接地址配置:…
Flask入门 WEB工作原理 C/S与B/S架构:客户端-服务器,浏览器-服务器 B/S架构工作原理 客户端(浏览器) <=> WEB服务器(nginx) <=> WSGI(uWSGI) <=> Python(Flask) <=> 数据库(MySQL) 说明:flask自带一个测试的WEB服务器,但是它仅仅适合于测试环境,不能用于生产环境. MVC与MTV框架 MVC框架 M:Model,模型,即数据模型,负责数据的存取. V:View,视图,负责数据的展…
pip install Flask python3安装 pip3 install flask…
Flask 小而精 三方组件全 稳定性相对较差 1.启动: from flask import Flask app = Flask(__name__) app.run("0.0.0.0",5000,debug=True) 2.加入路由 @app.route("/",methods=("GET","POST")) def index(): " 3.Response三剑客 + 小儿子: HTTPResponse retu…
什么是虚拟环境? 虚拟环境:其实就是一个文件夹,是python环境的复制 为什么要搭建虚拟环境? 因为一台计算机上可能要同时开发多个不同的项目,那么这些项目有可能用到同一个包的不同版本,如此一来,我们就无法完成我们的需求 在乌班图系统环境下,所有的虚拟环境都位于/home/下的隐藏目录.virtualenvs下 怎么搭建环境? sodo pip install virtualenv sudo pip install virtualenvwraper 在python3中,创建虚拟环境(python…
一.写在前面 Flask 作为一个轻量级的 Web 框架,具有诸多优点,灵活方便,扩展性强,开发文档也很丰富.在开发调试的过程中,我们往往会使用 Flask 自带的 Web 服务器,但如果要投入到生产环境中,就需要选择使用功能完整的服务器了.说到部署 Flask,就不得不提 WSGI 了,那么 WSGI 又是什么呢? Flask 项目又要怎么部署呢? 二.基础知识 1.WSGI WSGI(Python Web Server Gateway Interface):Python Web 服务器网关接…
在上一篇文章:Flask:项目的准备工作中,我写了flask项目的准备工作,不清楚创建flask项目需要做哪些准备的朋友可以点击链接看看 1.最简单的Flask项目 代码: from flask import Flask # 创建一个应用 app = Flask(__name__) @app.route("/") def index(): return "hello flask" if __name__ == '__main__': app.run(host=&qu…
2018-04-04 13:09:47 lucky404 阅读数 5724更多 分类专栏: python   版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/lucky404/article/details/79815997 之前有阅读过tornado 底层的实现,tornado 为了解决C10K 问题(没听说过C10K问题的请查看: http://www.360doc.com/conte…