Flask权限认证(Flask-Principal)
Flask-Principal主要提供两种功能: 1、权限认证 2、用户信息管理 该模块主要由Identity, Needs, Permission, and the IdentityContext.组成。 - Identity代表用户,一般存储在session中; - Needs代表了一种角色,如需要管理员权限,需要验证等等; - Permission是接
阅读全文Flask-Principal主要提供两种功能: 1、权限认证 2、用户信息管理 该模块主要由Identity, Needs, Permission, and the IdentityContext.组成。 - Identity代表用户,一般存储在session中; - Needs代表了一种角色,如需要管理员权限,需要验证等等; - Permission是接
阅读全文session用来记录登录状态,一般基于cookie实现。 Flask的默认session利用了Werkzeug的SecureCookie,把信息做序列化后编码(base64),放到cookie里了。 flask的session是通过客户端的cookie实现的,不同于diango的服务器端实现,flask通过itsdangerous(一种签名算法,主要使用HMAC加密算法)将session
阅读全文蓝图可以有多个子应用,每个子应用拥有自己的视图函数和URL规则,有自己的模板等等,它们之间相互不影响,这大大地方便了我们日常代码的编写和维护,也便于后续扩展功能。当我们想扩展功能时,只需要创建一个子应用即可。而这些子应用都属于同一个应用。 ##1、使用示例 1、创建蓝图对象 article = Blueprint('article',__name__) @art
阅读全文##一、Jinja2变量及函数 ###1、标准变量及函数 在Flask的Jinja2模板中自动引入了一些标准变量,如request,session,g,config,标准函数有url_for,get_flashed_messages。 get\_flashed\_messages函数会获取我们在view_func中定义的flash消息。 {% meassages=get
阅读全文有的时候我们会多次浏览同一个页面,同一个资源,这就会多次去请求同样的资源,此时就出现了缓存,缓存省去了每次多余的资源消耗。 在Flask中,使用扩展模块Flask-Cache。 基本使用方法: app = Flask(__name__) cache = Cache(app) @app.route('/hello') @cache.cached(timeo
阅读全文Flask使用的是Jinja模板,除此之外还有模板还有Flask-Mako,Flask-Genshi,但不常用。 Jinja有两种定界符。{% ... %}和{{ ... }}。前者用于执行像for循环或赋值等语句,后者向模板输出一个表达式的结果。 使用 extends 和 block实现模板的继承。 在Jinja2模板中可以使用条件语句(if else endif),for
阅读全文flask这种轻量级的框架本身并没有包含我们需要的功能,因此必须通过扩展插件才可以。今天学习了FLask的扩展插件导入(import)原理。 通常我们import第三方插件时,如:flask.ext.principal import identity_loaded。 当执行该语句时,首先要执行flask/ext/__init__.py模块,该模块内函数如下: def s
阅读全文路由基本用法: @app.route('/') def index(): return 'Hello World' def route(self, rule, **options): """A decorator that is used to register a view function for a give
阅读全文