flask插件相关

一、flask-debugtoolbar

  • 官网
http://www.pythondoc.com/flask-debugtoolbar/index.html
  • 安装
$ pip install flask-debugtoolbar
  • 配置
app.debug = True
app.config['SECRET_KEY'] = ''

toolbar = DebugToolbarExtension(app)
  • 使用
只要app.debug = True在模板中会显示调试工具栏!

二、flask-caching

  • 问题
flask-cache
flask-caching 【推荐】

备注: 除了导包不同,操作都是一致的!!!
  • 官网
https://pythonhosted.org/Flask-Cache/
  • 安装
pip install Flask-Cache
或
pip install Flask-Caching
  • 配置
cache = Cache(config={'CACHE_TYPE': 'simple'})
cache.init_app(app)
  • 使用
# 缓存视图函数
@blue.route('/home/')
@cache.cached(timeout=30)
def home():
    pass
  • 其他配置操作
CACHE_TPYE
    null: 无缓存
    simple: 本地Python字典存储
    memcached: 使用MemcachedCache作为缓存
    gaememcached: 使用GAEMemcachedCache作为缓存
    redis: 使用RedisCache作为存储
    filesystem: 使用FileSystemCache作为缓存
    saslmemcached: 使用SASLMemcachedCache作为缓存



RedisCache – redis配置
    CACHE_DEFAULT_TIMEOUT    超时时间
    CACHE_KEY_PREFIX         cache_key前缀(key-value)
    CACHE_REDIS_HOST         redis主机
    CACHE_REDIS_PORT         redis端口号
    CACHE_REDIS_PASSWORD     redis密码
    CACHE_REDIS_DB           redis数据库序号
    CACHE_REDIS_URL          redis链接URL (redis://user:password@host:port/db)
    CACHE_ARGS               缓存时传递的参数列表
    CACHE_OPTIONS            选项(传递参数的作用)
  • 其他使用
cache.set('name', 'atom', timeout=60)
name = cache.get('name')
cache.clear()

三、反爬策略

  • 基本反爬策略
- 黑名单,直接拦截
- 频繁操作,直接拦截
- 不是浏览器发起的请求,直接拦截

四、请求钩子

  • 请求钩子
- before_first_request 第一次请求之前处理
- before_request 每次请求之前处理
- after_request 每次请求之后处理(没有异常)
- teardown_request 每次请求之后处理(不管有没异常)

五、flask内置对象

  • flask内置对象
request 请求
session 会话技术
config 配置
g
  • g
数据传递的新方式
突破变量存储位置限制
  • g + 钩子结合使用

你可能感兴趣的:(flask插件相关)