zoukankan      html  css  js  c++  java
  • flask配置管理

    配置管理

    复杂的项目需要配置各种配置环境,如果设置项缺少可以直接硬编码进来,比如下面的方式:

    app.config['DEBUG']=True
    app.config['SECRET_KEY'] = 'hard to guess string'
    

     app.config 是 app.config.Config的实例,Config类继承了python内置的dict,所以我们可以使用dict的update方法

    app.config.update(
    DEBUG=True,
    SECRET_KEY = 'hard to guess string'
    )
    

      app.config 内置的配置变量可以参考Configuration Handling 如果设置的选项很多,有想要集中管理这些设置项,我们可以把这些配置项选择放置在一个文件中,app.config 支持多种更新配置的方式。假设我们将我们的配置项防止的settings.py这个文件中,内容如下:

    DEBUG=True,
    SECRET_KEY = 'hard to guess string'
    

    我们可以选择一下三种方式加载文件

    1. 通过配置文件加

    app.config.from_object('settings') # 通过字符串模块名字导入配置文件
    
    import settings
    
    app.config.from_object(settings) #通过导入文件后直接传入模块对象
    

    2.通过文件名字加载,直接传入文件名字,单是不限于只使用.py后缀的文件

    # 默认当配置文件不存在时候,会抛出异常,使用silent=True
    # 的时候只是返回False,但是不会抛出异常
    app.config.from_pyfile('settings.py',silent=True)
    

    3.通过环境变量加载,这种方式依然支持silent参数,获得路径后其实还是使用了from_pyfile的方式加载

    # 
    # 在python环境变量中设置
    # >export USERAPPLICATION_SETTINGS = 'settings.py'
    app.config.from_envvar('USERAPPLICATION_SETTINGS')
    

     调试模式 

     我们每次使用 app.run 方式开启本地应用,但是当我们在开发中修改了代码,都要手动的重启应用,这样的方式既不方便也不优雅。其实flask已经帮我们解决了开发模式代码修改后自动重启应用的功能,并在发生错误的时候,提供一个能获得错误上下文及可执行代码的调试页面。

    两种开启调试模式的方法

    1 直接在应用对象上设置

    app.debug = True
    app.run()
    

    2. 作为run的参数传入

    app.run(debug=True

    注意事项:

        开启调试模式会成为一个巨大的安全隐患,因此决不能用于生产环境中。

     

            

     

     

  • 相关阅读:
    Python正课101 —— 前端 入门
    Python正课100 —— 数据库 进阶5
    Python正课99 —— 数据库 进阶4
    Navicat15安装教程
    Python正课98 —— 数据库 进阶3
    Python正课97 —— 数据库 进阶2
    Python正课96 —— 数据库 进阶1
    解决:MySQL报错
    Python正课95 —— 数据库 入门
    作业3
  • 原文地址:https://www.cnblogs.com/richiewlq/p/8261943.html
Copyright © 2011-2022 走看看