分类: webframe

项目解析

rms(Repair Management System)整体架构1234567891011121314151617181920212223242526272829303132333435363738394041424344454647rms├── │   └──materialManage│   ├── views│ ├── forms│  

第三方登录

大致流程(以github为例) 1.打开github->setting-> developer setting-> OAuth apps-> Register a new application 2.填写app信息url、回调url、设置secret key 3.可以把appid、secret key记录在setting中,分布式配置在redis上 4.写一个访问gi

单点登录

什么是单点登录?单点登录是在多个应用系统中,只需要登录一次,就可以访问其他相互信任的应用系统。 操作方法同域处理同域名下,可以设置cookie的顶级域名访问,然后共享session(redis) 不同域处理这里假设不同系统不共享session把登录业务抽象出来做一个单独的sso系统,用户访问某个系统时 12345用户访问app系统,app系统没有登录,跳转到SSO。由于SSO已经登录了,不需要重新

jwt

简介JWT是一个含签名并携带用户相关信息的加密串,页面请求校验登录接口时,请求头中携带JWT串到后端服务,后端通过签名加密串匹配校验,保证信息未被篡改。校验通过则认为是可靠的请求,将正常返回数据。 构成JWT由三部分组成,分别是头信息header、有效载荷payload、签名signature,中间以(.)分隔 1xxx.yyy.zzz header由两部分组成,令牌类型(即:JWT)、散列算法(

设计模式

七大原则开闭原则软件实体应当对扩展开放,对修改关闭 里氏替换原则 1.子类可以实现父类的抽象方法,但不能覆盖父类的非抽象方法 2.子类中可以增加自己特有的方法 3.当子类的方法重载父类的方法时,方法的前置条件(即方法的输入参数)要比父类的方法更宽松 4.当子类的方法实现父类的方法时(重写/重载或实现抽象方法),方法的后置条件(即方法的的输出/返回值)要比父类的方法更严格或相等 依赖倒置原则 1.

flask基本介绍

配置文件配置方式 1.单个配置 1flask.config[‘xxx’] = xxx 2.可以像django一样文件配置 1234DEBUG = TrueTESTING = TrueDATABASE_URI='127.0.0.1:XXX'flask.config.from_pyfile(‘某个文件setting’) 3.类配置 生产环境一

flask的数据库操作

DButils pip install DBUtils pooledDB提供线程间可共享的数据库连接,并自动管理连接,创建好一批连接池,供所有线程共享使用。总数就那么多个。 创建方式123456789101112131415161718192021222324252627282930import pymysqlpymysql.install_as_MySQLdb()from dbutils.po

多app应用

12345678910111213141516171819202122232425262728293031323334353637383940414243444546from werkzeug.wsgi import DispatcherMiddlewarefrom werkzeug.serving import run_simplefrom flask import Flaskfrom werk

flask和django比较

整体设计架构 flask只提供核心的一小部分功能,其它的功能由它的插件进行扩充,由bluepoint实现水平扩展flask需要自己去diy,比如整体架构的设计、sql使用哪一种、登录认证怎么写、缓存。 django大而全,从app划分,到session、authenticate、orm、后台管理系统都已经做好了模板,提供的很全面 路由系统 flask路由系统使用装饰器进行路由注册,也可以通过

flask信号量

信号量 orm mysql增加之前记录一条日志怎么做?用装饰器的话为了保证原子性,无法在接口处装饰,必须在orm.save中去装饰,但这样就会很麻烦,需要调用很多接口自定义1个sql_save的信号,在save成功的源码中加上信号 部分源码flask自己并不支持信号,需要安装插件 1234567891011121314151617181920212223242526272829303132333