美文网首页
Flask工程配置信息

Flask工程配置信息

作者: 测试探索 | 来源:发表于2020-08-21 06:19 被阅读0次

    Flask将配置信息保存到了app.config属性中,该属性可以按照字典类型进行操作

    设置
    • 从配置对象中加载
      app.config.from_object(配置对象)
    from flask import Flask
    #配置对象方式加载配置信息
    class DefaultConfig(object):
        """
        默认配置
        """
        SECRET_KEY = "123dfscbvwerfd"
    
    
    app = Flask(__name__,static_url_path="/s",static_folder="static_files")
    
    #设置
    app.config.from_object(DefaultConfig)
    
    #定义视图
    @app.route('/')
    def index():
        #读取配置信息
        print(app.config["SECRET_KEY"])
        return 'hello world'
    
    if __name__ == '__main__':
        app.run()
    

    运行结果


    运行结果
    • 从配置文件中进行加载
      helloworld_config.py
    from flask import Flask
    #配置对象方式加载配置信息
    
    app = Flask(__name__,static_url_path="/s",static_folder="static_files")
    
    #设置
    # app.config.from_object(DefaultConfig)
    app.config.from_pyfile('setting.py')
    #定义视图
    @app.route('/')
    def index():
        #读取配置信息
        print(app.config["SECRET_KEY"])
        return 'hello world'
    
    if __name__ == '__main__':
        app.run()
    

    setting.py

    SECRET_KEY = "asdf12312"
    
    运行结果
    • 环境变量中加载
         在linux系统中设置和读取环境变量的方式如下
    export 变量名 = 变量值  //写入
    echo  $变量名    //读取
    
    image.png
    from flask import Flask
    #配置对象方式加载配置信息
    
    app = Flask(__name__,static_url_path="/s",static_folder="static_files")
    
    #设置
    # app.config.from_object(DefaultConfig)
    # app.config.from_pyfile('setting.py')
    app.config.from_envvar("PROJECT_SETTING",silent=False)
    #定义视图
    @app.route('/')
    def index():
        #读取配置信息
        print(app.config["SECRET_KEY"])
        return 'hello world'
    
    if __name__ == '__main__':
        app.run()
    
    image.png
    也可通过此种方式加载环境变量

    关于slient的说明:
    表示系统环境变量中没有设置相应值时是否抛出异常

    • False表示不安全的处理,没有值时报错通知,默认为False
    • True表示安静的处理,即使没有值也让Flask正常的运行下去

    相关文章

      网友评论

          本文标题:Flask工程配置信息

          本文链接:https://www.haomeiwen.com/subject/cxzljktx.html