python - flask中,instance_path参数的存在意义是什么呢?

查看:411
本文介绍了python - flask中,instance_path参数的存在意义是什么呢?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

flask的Flask类初始化参数中有一个instance_path,默认为None

在官网上看了相关文档Instance Folders,反复看了几遍还是不太明白其意义何在,看flask相关案例也没有见过使用的。
自己在机器上做了下测试,输出如下:
view函数加一句print current_app.root_path+'\n'+current_app.instance_path,可以得到:

/home/xxx/Documents/flasky/flasky/app
/home/xxx/Documents/flasky/flasky/instance

其跟root_path的区别仅在于最后一个地方由app变成了instance,这参数是0.8版本才加的,意义何在(既然它和root_path基本一样),加了它之后能够实现什么之前所不能实现的东西吗?

解决方案

看了下文档里面有这样一段话,不知道能不能解答题主的疑惑:

The instance folder is designed to not be under version control and be deployment specific. It’s the perfect place to drop things that either change at runtime or configuration files.

我的理解就是类似前端html与css分离一样,实例文件夹与默认的跟文件夹分离,降低耦合度。方便后期修改实例的时候不影响到跟文件夹。题主说的None就是默认的实例是在根文件夹下面的,对应到题目中的例子就是在flasky目录下面。
而现在新的版本可以通过设置instance_path参数指定具体的位置,比方说跟flasky目录同级。

这篇关于python - flask中,instance_path参数的存在意义是什么呢?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆