Flask 进阶】的更多相关文章

Threading.local 作用:为每个线程创建一个独立的空间,使得线程对自己的空间中的数据进行操作(数据隔离). 应用: flask上下文管理中的local中比这更高级,为协程. DBUtils线程池的模式一:为每个线程创建一个连接 SQLAchemy """ import threading from threading import local import time obj = local() def task(i): obj.xxxxx = i time.sle…
session的源码流程 将session放置在redis中 安装 pip install flask-session 使用 import redis from flask import Flask,request,session from flask.sessions import SecureCookieSessionInterface from flask_session import Session app = Flask(__name__) app.config['SESSION_TY…
flask中的路由系统: endpoint:反向url地址,默认为视图函数名(url_for). from flask import Flask,url_for app = Flask(__name__) @app.route("/index/",endpoint="func") def index(): print(url_for("func")) # /index/ return "helloworld" if __nam…
OOP 面向对象反射 # __call__方法 # class Foo(object): # def __call__(self, *args, **kwargs): # return "i am call" # # # f = Foo() # f 是Foo的对象 # print(f()) # f() 对象加括号执行当前对象下__call__ 函数 # __setattr__ , def __getattr__ 属性的创建 赋值 提取 # class Foo(object): # #…
上下文是一种属性的有序序列,为驻留在环境内的对象定义环境.在对象的激活过程中创建上下文,对象被配置为要求某些自动服务,如同步.事务.实时激活.安全性等等. 比如在计算机中,相对于进程而言,上下文就是进程执行时的环境.具体来说就是各个变量和数据,包括所有的寄存器变量.进程打开的文件.内存信息等.可以理解上下文是环境的一个快照,是一个用来保存状态的对象.在程序中我们所写的函数大都不是单独完整的,在使用一个函数完成自身功能的时候,很可能需要同其他的部分进行交互,需要其他外部环境变量的支持,上下文就是给…
Windows 10家庭中文版,Python 3.6.4,Flask 1.0.2, 提示: 1.请查看本文后面的“18-07-17  11:18重大纠正” ! 2.flask run命令运行时传入参数给create_app的方法也有了,参考后面的18-07-18 12:47更新! 3.请查看18-07-18 13:16更新:instance_relative_config=True,很重要!原来孤创建Flask应用时使用了这个参数,所以参会有一些列instance目录的问题! ----正文---…
一.入门系列: Flask入门系列(一)–Hello World 项目开发中,经常要写一些小系统来辅助,比如监控系统,配置系统等等.用传统的Java写,太笨重了,连PHP都嫌麻烦.一直在寻找一个轻量级的后台框架,学习成本低,维护简单.发现Flask后,我立马被它的轻巧所吸引,它充分发挥了Python语言的优雅和轻便,连Django这样强大的框架在它面前都觉得繁琐.可以说简单就是美.这里我们不讨论到底哪个框架语言更好,只是从简单这个角度出发,Flask绝对是佼佼者.这一系列文章就会给大家展示Fla…
Django中文文档官网:https://yiyibooks.cn/xx/Django_1.11.6/index.html Flask中文文档官网:https://dormousehole.readthedocs.io/en/latest/ 基础语法相对篇: 配置文件: Django配置文件详解:https://www.cnblogs.com/Fushengliangnian/articles/9822105.html Flask配置文件详解:https://www.cnblogs.com/Fu…
目录 一.计算机基础 二.python 2.1初始python 2.1 python基础1 2.2 python基础2 三.函数 3.1 函数进阶 3.2 函数之装饰器 3.3 递归函数之二分查找 3.4 内置函数 3.5 迭代器与生成器 四.常用模块 4.1 re模块与正则表达式 4.2 其他模块 4.3 异常处理与补充模块 五.模块和包 六.面向对象 6.1初始面向对象 6.2面向对象进阶(组合和继承) 6.3封装与多态 七.网络编程socket 7.1 初始socket 7.2 进程池与回…
电子邮件进阶实践 下面来学习构建邮件的HTML正文,并使用模板组织内容. 一封电子邮件的正文可以是纯文本(text/plain),也可以是HTML格式的文本(text/html).处于全面的考虑,一封邮件应该既包含纯文本正文又包含HTML格式的正文.HTML格式的正文将被优先读取:加入收信人的邮件系统比较古老,无法读取HTML格式的邮件,则会读取纯文本格式的正文. 下面来学习如何编写HTML邮件正文,以及如何在Flask-Mail中同时提供这两种格式的邮件正文. 如果HTML正文非常简单,比如仅…
一句话评价: 这可能是市面上(包括国外出版的)你能找到最好的讲Flask的书了 下载:链接: https://pan.baidu.com/s/1ioEfLc7Hc15jFpC-DmEYBA 提取码: nunq 这是一本面向Python程序员的,全面介绍Python Web框架Flask的书.关于本书的详细介绍.相关资源等更多信息可以访问本书的官方主页http://helloflask.com/book了解. • 国内首本Flask著作,在内容上涵盖完整的Flask Web开发学习路径,在实践上包…
模型进阶 多对多关联 用户收藏电影,一个用户可以收藏多部电影, 一部电影可以被不同的用户收藏, 是一个多对多关系. ​ # 中间表(不是模型) collects = db.Table('collects',   # user_id为表字段名称, user.id为外键表的id   db.Column('user_id', db.Integer, db.ForeignKey('user.id'), primary_key=True),   db.Column('movie_id', db.Integ…
目录 1.数据库查询-进阶 1.常用的SQLAlchemy查询过滤器 2.常用的SQLAlchemy查询结果的方法 3.filter 4.order_by 5.count 6.limit&offset 7.paginate 8.group_by Tip:在flask中执行原生SQL语句 2.关联查询 1.常用的SQLAlchemy关系选项 2.一对一 3.一对多 4.多对多 1.数据库查询-进阶 1.常用的SQLAlchemy查询过滤器 过滤器 说明 filter() 把过滤器添加到原查询上,返…
案例:可配置发送信息的系统 假如我们有这样的一个系统,可以发送短息,邮件和微信,后期可能还会增加一些平台,怎么才可以做到快速切换的去使用某种功能呢,在这里我会通过在配置文件中简单的配置就可以实现 在项目的根目录下创建  utils/message/base.py  创建继承的基类,强制其子类实现send() 方法 该系统可适用于 各种缓存系统 class Base(object): def send(self,msg): raise NotImplementedError('...') 在项目的…
前言: 此次版本增加[一对多]数据库关系和动态路由设置. 一.数据库设计 environments表与variable1表的关系为:一对多.variable1.env_id设置为外键,与environments表建立关系.       二.建立数据库模型 如下图所示,Variable模型中的env_id列被定义为外键,就是这个外键建立起了关系.传给db.ForeignKey()的参数'environments.id'表明,这列的值是environments表中行的id值. 三.多表查询 1.查找…
今日内容概要 1.cookie操作 2.pipeline 3.中间件 4.扩展 5.自定义命令 6.scrapy-redis 7.flask使用 - 路由系统 - 视图 - 模版 - message(闪现) - 中间件 - session - 蓝图 - 安装第三方插件 Scrapy - 创建project - 创建爬虫 - 编写 - 类 - start_urls = ['http://www.xxx.com'] - def parse(self,response): yield Item对象 y…
前言 前面学习了jijia2模板语言的一些基础知识,接下来继续深挖jijia2语言的用法. 系列文章 flask基础之安装和使用入门(一) flask基础之jijia2模板使用基础(二) 控制语句 和python语言一样,模板语言也有自己的控制语句,比如条件语句.循环语句等等: 条件语句if {% if name and name == 'admin' %} <h1>This is admin console</h1> {% elif name %} <h1>Welco…
内容概要: SQLAlchemy flsak-sqlalchemy flask-script flask-migrate Flask的目录结构 一.SQLAlchemy 1.概述 SQLAlchemy是一个ORM的框架,ORM就是关系对象映射,具体可以参照Django中的ORM. 作用:帮助我们使用类和对象快速实现数据库操作 数据库: -原生:MYSQLdb       pymysql 区别就是 MYSQLdb 不支持python3   pymysql 都支持 ORM框架 SQLAlchemy…
今日内容: 上下文管理:LocalProxy对象 上下文管理:  请求上下文: request/session   app上下文:app/g 第三方组件:wtforms       1.使用     2.原理 一.LocalProxy 首先我们一看一段自己写的代码: #test.py DATA={ 'request':{ 'method':'GET', 'form':{} }, 'session':{ 'user':'duoduo', ' } } class LocalProxy(object)…
上篇我们大概简单描述了一下上下文管理,这篇来具体来说说, 上下管理的request 上下管理的session 第三方组件:flask-session pymysql操作数据库  数据库连接池 一.前奏 1.一个新名词:偏函数   (可以帮你自动传参数) import functools #装饰器用过的模块 def index(a,b): return a+b new_fun=functools.partial(index,666) #666当作第一个参数 #原来的调用 # ret=index(1…
知识回顾 1.django 和flask区别? 最大的不同就是django请求相关的数据,通过参数一个一个传递过去的,而flask就是先把放在某个地方,然后去取,这个东西叫上下文管理 2.什么是wsgi? web服务网关接口,wsgi就是一个协议和规范,实现该协议的模块: -wsgiref -werkzeug 实现其协议的模块本质上就是socket服务端用于接收用户请求,并处理, 一般web框架基于wsgi实现,这样实现关注点分离(通俗的说业务相关的,交给框架) from werkzeug.wr…
一.概述 最大的特点:短小精悍.可拓展强的一个Web框架.注意点:上下文管理机制,依赖wsgi:werkzurg 模块 二.前奏学习werkzurg 先来回顾一个知识点:一个类加括号会执行__init__方法,一个对象加括号执行__call__方法 事例1: from werkzeug.wrappers import Request, Response @Request.application def hello(request): return Response('Hello World!')…
URL重定向 错误响应 > 如果你想手动返回错误响应,可以使用Flask提供的abort()函数. XML 上下文全局变量 [](https://img2018.cnblogs.com/blog/1608688/201903/1608688-20190318132815407-1224791002. Flask中的上下文变量 激活上下文 在请求处理时两者有相同的生命周期. 安全相关 模板 可以在模板页面里使用{%set name='baz'%}来声明变量 app.template_global(…
1.add_url_rule和app.route原理剖析 from flask import Flask app = Flask(__name__) # 下面是我们定义一个路由和对应视图的常用方法 ''' @app.route(r"/index") def index(): return "index" ''' # 这种方法等价于 def index(): return "index" app.add_url_rule(r"/index…
一个视图函数可以绑定多个 URL 为了让互联网上的人都可以访问,需要安装程序的服务器有公网ip 如果过度使用扩展,在不需要 的地方引人,那么相应也会导致代码不容易维护 ,应该尽量从实际需求出发,只在需要 的时候使用扩展 flask.flask扩展.程序自己的环境变量都可以通过flask的app.config作为统一的接口来设置和获取.app.config是字典的子类,所以可以像操作字典那样使用它 session也可以像字典一样使用 g也可以像字典一样使用 配置变量可以存储在python脚本.py…
# 创建项目 jinja2 语法基础 # pycharm 里面 创建 new project -->pure python 之后选择路径 选择解释器 以及虚拟环境问题 from flask import Flask,request,redirect,render_template,jsonify,send_file app = Flask(__name__) STUDENT = {'name': 'Old', 'age': 38, 'gender': '中'} STUDENT_LIST = […
video5 flask特点: 1,为框架,简介,高扩展性. 2,flask相关依赖(jinja2,werkzeug)设计优秀. 3,开发高效,如SQL的ORM video6 debug模式 我只推荐run->edit video7  配置文件 1,文件方式 若文件路劲不带,可加silent让它在找不到路径时候也不报错. 2,常规方式 video8  URL中的两种传参 path可以接受'/'. 可以接受多个'/'的URL: 可以接受UUID: 全宇宙都唯一的随机数,可以做主键. any:可以指…
Python的WEB框架有Django.Tornado.Flask 等多种,Django相较与其他WEB框架其优势为:大而全,框架本身集成了ORM.模型绑定.模板引擎.缓存.Session等诸多功能. 1,基本配置 一.创建django程序 终端命令:django-admin startproject sitename IDE 创建Django程序时,本质上都是自动执行上述命令 其他常用命令: python manage.py runserver 0.0.0.0 python manage.py…
10min系列之二日志可视化进阶(作者原创,同步发布在github) 本文需要有一定的python和前端基础,如果没基础的,请关注我后续的基础教程系列博客 本文所有的demo,都是浏览器下展示的 原创文章,本文同步发布在github,跪求github右上角star 基于python,前端基于echarts,力求用简单的代码说明原理 提纲 access日志按照什么维度展示数据 和web结合,更好的体验,只需记住URL 分页排序和搜索,表格展示体验的提升 一图胜万言,汇总信息更友好的展示 逼格满满,…
一.前言 在初学 Flask 的时候,在数据库连接这部分也跟每个初学者一样.但是随着工作中项目接手的多了,代码写的多了,历练的多了也就有了自己的经验和技巧.在对这块儿代码不断的进行升级改造后,整理了在连接数据库这部分的一个学习经验.希望可以为大家在学习 Python 的路上提供一些参考. 二.初级阶段  1.Mysql 扩展包 2.建立数据库连接 3.开启打怪升级之路 在日常开发中,连接数据库最多的应用场景就是,查询所有数据和查询单条数据.就以查询所有数据场景为例. 小白版本--在后端凭接表格,…