【FLASK】FLASK的配置

flask中的配置文件是一个flask.config.Config对象(继承字典),默认配置为:
    {
        'DEBUG':                                get_debug_flag(default=False),是否开启Debug模式
        TESTING':                              False,是否开启测试模式
        PROPAGATE_EXCEPTIONS:                 None,PRESERVE_CONTEXT_ON_EXCEPTION:        None,1)">SECRET_KEY:                           None,1)">PERMANENT_SESSION_LIFETIME':           timedelta(days=31),1)">USE_X_SENDFILE:                       False,1)">LOGGER_NAME:                          None,1)">LOGGER_HANDLER_POLICY':               always,1)">SERVER_NAMEAPPLICATION_ROOT:                     None,1)">SESSION_COOKIE_NAME':                  sessionSESSION_COOKIE_DOMAIN:                None,1)">SESSION_COOKIE_PATH:                  None,1)">SESSION_COOKIE_HTTPONLY:              True,1)">SESSION_COOKIE_SECURE:                False,1)">SESSION_REFRESH_EACH_REQUEST:         True,1)">MAX_CONTENT_LENGTH:                   None,1)">SEND_FILE_MAX_AGE_DEFAULT':            timedelta(hours=12TRAP_BAD_REQUEST_ERRORS:              False,1)">TRAP_HTTP_EXCEPTIONS:                 False,1)">EXPLAIN_TEMPLATE_LOADING:             False,1)">PREFERRED_URL_SCHEME':                 httpJSON_AS_ASCII:                        True,1)">JSON_SORT_KEYS:                       True,1)">JSONIFY_PRETTYPRINT_REGULAR:          True,1)">JSONIFY_MIMETYPE':                     application/jsonTEMPLATES_AUTO_RELOAD'] = True
 
    PS: 由于Config对象本质上是字典,所以还可以使用app.config.update(...)
 
方式二:
    app.config.from_pyfile("python文件名称")
        如:
            settings.py
                DEBUG = True
 
            app.config.from_pyfile(settings.py)
 
    app.config.from_envvar(环境变量名称)
        环境变量的值为python文件名称名称,内部调用from_pyfile方法
 
 
    app.config.from_json(json文件名称)
        JSON文件名称,必须是json格式,因为内部会执行json.loads
 
    app.config.from_mapping({:True})
        字典格式
 
    app.config.from_object(python类或类的路径)
 
        app.config.from_object(pro_flask.settings.TestingConfig)
 
        settings.py
 
            class Config(object):
                DEBUG = False
                TESTING = False
                DATABASE_URI = sqlite://:memory:'
 
             ProductionConfig(Config):
                DATABASE_URI = mysql://user@localhost/foo DevelopmentConfig(Config):
                DEBUG = True
 
             TestingConfig(Config):
                TESTING = True
 
        PS: 从sys.path中已经存在路径开始写
     
 
    PS: settings.py文件默认路径要放在程序root_path目录,如果instance_relative_config为True,则就是instance_path目录


三、路由系统

  • @app.route('/user/<username>')
  • @app.route('/post/<int:post_id>')
  • @app.route('/post/<float:post_id>')
  • @app.route('/post/<path:path>')
  • @app.route('/login',methods=['GET','POST'])

 

 

 

 

相关文章

Jinja2:是Python的Web项目中被广泛应用的模板引擎,是由Pyt...
监听QQ消息并不需要我们写代码,因为市面上已经有很多开源QQ...
【Flask框架】—— 视图和URL总结
python+web+flask轻量级框架的实战小项目。登录功能,后续功...
有了这个就可以配置可信IP,关键是不需要企业认证,个人信息...