配置管理 |
您所在的位置:网站首页 › flask的session默认保存在哪 › 配置管理 |
实例文件夹¶
Changelog
New in version 0.8. Flask 0.8 引入了实例文件夹。 Flask 花了很长时间才能够直接使用应用文件夹 的路径(通过 Flask.root_path )。这也是许多开发者载入应用文件夹 外的配置的方法。不幸的是这种方法只能用于应用不是一个包的情况下,即根路 径指向包的内容的情况。 Flask 0.8 引入了一个新的属性: Flask.instance_path 。它指向一个 新名词:“实例文件夹”。实例文件夹应当处于版本控制中并进行特殊部署。这 个文件夹特别适合存放需要在应用运行中改变的东西或者配置文件。 可以要么在创建 Flask 应用时显式地提供实例文件夹的路径,要么让 Flask 自 动探测实例文件夹。显式定义使用 instance_path 参数: app = Flask(__name__, instance_path='/path/to/instance/folder')请记住,这里提供的路径 必须 是绝对路径。 如果 instance_path 参数没有提供,那么会使用以下缺省位置: 未安装的模块: /myapp.py /instance未安装的包: /myapp /__init__.py /instance已安装的模块或包: $PREFIX/lib/pythonX.Y/site-packages/myapp $PREFIX/var/myapp-instance$PREFIX 是你的 Python 安装的前缀。可能是 /usr 或你的 virtualenv 的路径。可以通过打印 sys.prefix 的值来查看当前的前缀 的值。 既然可以通过使用配置对象来根据关联文件名从文件中载入配置,那么就可以通 过改变与实例路径相关联的文件名来按需要载入不同配置。在配置文件中的关联 路径的行为可以在 “关联到应用的根路径”(缺省的)和 “关联到实例文件夹” 之间变换,具体通过应用构建函数中的 instance_relative_config 来实现: app = Flask(__name__, instance_relative_config=True)以下是一个完整的配置 Flask 的例子,从一个模块预先载入配置,然后从实例文 件夹中的一个配置文件(如果这个文件存在的话)载入要重载的配置: app = Flask(__name__, instance_relative_config=True) app.config.from_object('yourapplication.default_settings') app.config.from_pyfile('application.cfg', silent=True)通过 Flask.instance_path 可以找到实例文件夹的路径。Flask 还提供 一个打开实例文件夹中的文件的快捷方法: Flask.open_instance_resource() 。 举例说明: filename = os.path.join(app.instance_path, 'application.cfg') with open(filename) as f: config = f.read() # or via open_instance_resource: with app.open_instance_resource('application.cfg') as f: config = f.read() |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |