zoukankan      html  css  js  c++  java
  • Flask的配置文件

    Flask的配置文件 与 session

    配置文件

    flask中的配置文件是一个flask.config.Config对象(继承字典)

    默认配置为:

     {
        'DEBUG':                                get_debug_flag(default=False),  是否开启Debug模式
        'TESTING':                              False,                          是否开启测试模式
        'PROPAGATE_EXCEPTIONS':                 None,                          
        'PRESERVE_CONTEXT_ON_EXCEPTION':        None,
        'SECRET_KEY':                           None,
        'PERMANENT_SESSION_LIFETIME':           timedelta(days=31),
        'USE_X_SENDFILE':                       False,
        'LOGGER_NAME':                          None,
        'LOGGER_HANDLER_POLICY':               'always',
        'SERVER_NAME':                          None,
        'APPLICATION_ROOT':                     None,
        'SESSION_COOKIE_NAME':                  'session',
        'SESSION_COOKIE_DOMAIN':                None,
        'SESSION_COOKIE_PATH':                  None,
        'SESSION_COOKIE_HTTPONLY':              True,
        'SESSION_COOKIE_SECURE':                False,
        'SESSION_REFRESH_EACH_REQUEST':         True,
        'MAX_CONTENT_LENGTH':                   None,
        'SEND_FILE_MAX_AGE_DEFAULT':            timedelta(hours=12),
        'TRAP_BAD_REQUEST_ERRORS':              False,
        'TRAP_HTTP_EXCEPTIONS':                 False,
        'EXPLAIN_TEMPLATE_LOADING':             False,
        'PREFERRED_URL_SCHEME':                 'http',
        'JSON_AS_ASCII':                        True,
        'JSON_SORT_KEYS':                       True,
        'JSONIFY_PRETTYPRINT_REGULAR':          True,
        'JSONIFY_MIMETYPE':                     'application/json',
        'TEMPLATES_AUTO_RELOAD':                None,
      }

    配置方法:

    (1) 直接在文件中 写 app.config['xxx'] = 'xxx'

    app.config['DEBUG'] = True
    
    PS: 由于Config对象本质上是字典,所以还可以使用app.config.update(...)
    
    
        注意:
            某个对象 可以进行 a['aa'] = 111的操作的时候,
                说明   (1) 重写了 __setitem__ 方法
                          (2) 继承了 dict

    (2) 通过 config对象 的 from_pyfile方法:

        .. 新建一个 settings.py 的文件(统一管理)   :  里面直接 配置 XXX = 1111
        .. app.config.from_pyfile('settings.py')

    (3) 通过 config 对象的 from_environ 方法 (与上一个类似)

        import os
        os.environ('xxxx') = 'settings.py'
    
        app.config.from_environ('xxxx')

    (4) 通过 config 对象的 from_object 方法 (导入文件中的一个类,不同的环境用不同的配置文件)

        推荐使用
    
        app.config.from_object('settings.DevConfig')  # 开发的配置
        app.config.from_object('settings.TestConfig') # 测试的配置
        app.config.from_object('settings.ProConfig')  # 正式的配置
    
            settings.py :
    
                class BaseConfig(object):
                    xxx = 111   # 公用的配置
    
                class TestConfig(BaseConfig):
                    DB = '127.0.0.1'
                class DevConfig(BaseConfig):
                     DB = 'xx.x.0x.1'
                class ProConfig(BaseConfig):
                     DB = 'xx.0x.0.1'

    使用,获取 配置的时候:

               from flask import current_app  # 可以获取当前的 app
    
               c = current_app.config.get('xxx')
  • 相关阅读:
    常用连链接命令行存储小工具
    switch case 跳转表
    抖音越狱版本App下载
    AutoLayout + UILabel布局
    ReplayKit2 有线投屏项目-反向Socket实现
    ReplayKit2 有线投屏项目总结
    直播相关-搭建直播流服务器nodejs
    难过!失眠!
    CAShapeLayer
    WebService相关概念介绍
  • 原文地址:https://www.cnblogs.com/wzbk/p/10308004.html
Copyright © 2011-2022 走看看