flask_session是flask框架实现session功能的一个插件,用来替代flask自带的session实现机制. 配置参数详解 SESSION_COOKIE_NAME 设置返回给客户端的cookie的名称,默认是"session";放置在response的头部: SESSION_COOKIE_DOMAIN 设置会话的域,默认是当前的服务器,因为Session是一个全局的变量,可能应用在多个app中: SESSION_COOKIE_PATH 设置会话的路径,即哪些路由下应该设…
flask-session是flask框架的session组件,由于原来flask内置session使用签名cookie保存,该组件则将支持session保存到多个地方,如: redis:保存数据的一种工具,五大类型.非关系型数据库 memcached filesystem mongodb sqlalchmey:那数据存到数据库表里面 一.安装flask_session pip3 install flask-session 二.实现方式 我在之前的博客中已经分析过了flask的上下文管理机制以及…
前言 flask可以实现上传文件和下载文件的基本功能,但如果想要健壮的功能,使用flask_uploads插件是十分方便的. 安装 pip install flask_uploads 基本使用 # extensions.py from flask_uploads import UploadSet files = UploadSet('files') # config.py UPLOADED_FILES_DEST = path.join(path.dirname(path.abspath(__fi…
前言 为了尽量减少缓存穿透,同时减少web的响应时间,我们可以针对那些需要一定时间才能获取结果的函数和那些不需要频繁更新的视图函数提供缓存服务,可以在一定的时间内直接返回结果而不是每次都需要计算或者从数据库中查找.flask_caching插件就是提供这种功能的神器. flask_caching 安装 pip install Flask-Caching 初始化配置 # __init__.py from flask import Flask from extensions import cache…
sqlalchemy是一个操作关系型数据库的ORM工具.下面研究一下单独使用和其在flask框架中的使用方法. 直接使用sqlalchemy操作数据库 安装sqlalchemy pip install sqlalchemy 初始化及操作数据库 # 导入: from sqlalchemy import Column, String, create_engine from sqlalchemy.orm import sessionmaker from sqlalchemy.ext.declarati…
flask_wtf是flask框架的表单验证模块,可以很方便生成表单,也可以当做json数据交互的验证工具,支持热插拔. 安装 pip install Flask-WTF Flask-WTF其实是对wtforms组件的封装,使其支持对flask框架的热插拔. 简单使用 # app.py from flask import Flask, current_app, request, render_template from forms import MyForm app = Flask(__name…
前言 flask框架默认的路由和视图函数映射规则是通过在视图函数上直接添加路由装饰器来实现的,这使得路由和视图函数的对应关系变得清晰,但对于统一的API开发就变得不怎么美妙了,尤其是当路由接口足够多的时候,可读性会变差.flask_restful可以使我们像Django那样统一在一个地方设计所有的API规则. flask_restful 安装 pip install flask_restful 初始化 # __init__.py from flask import Flask, current_…
下面记录一下SQLAlchemy使用的技巧. 在多模块下定义models 如果由多个蓝图下读定义了model模块,在初始化的时候需要加载到上下文中. 当使用flask_Migrate迁移数据库的时候,当执行: python manage.py db migrate -m '修改说明' db会默认去上下文中寻找定义的models模型,所以必须在初始化app的时候加载相关models的上下文:因此所有相关的model.py文件都应该在初始化app的时候: from XXX import model…
现在继续学习在集成的框架中如何使用celery. 在Flask中使用celery 在Flask中集成celery需要做到两点: 创建celery的实例对象的名字必须是flask应用程序app的名字,否则celery启动会失败: celery必须能顺利加载初始化文件. celery在flask中初始化 由于celery进程的运行和flask进程的运行是相互独立的,但是在框架中我们希望只使用一份配置文件,这样可以简化配置的工作. from celery import Celery from flas…
前后端分离在开发调试阶段本地的flask测试服务器需要允许跨域访问,简单解决办法有二: 使用flask_cors包 安装 pip install flask_cors 初始化的时候加载配置,这样就可以支持跨域访问了 from flask_cors import CORS app = Flask(__name__) CORS(app, supports_credentials=True) if __name__ == "__main__": app.run() 对请求的Response…