在这个链接http://flask.pocoo.org/docs/0.12/tutorial/setup/#tutorial-setup
在flaskr.py中的文件中:
app = Flask(__name__) # create the application instance :)
app.config.from_object(__name__) # load config from this file , flaskr.py
# Load default config and override config from an environment variable
app.config.update(dict(
DATABASE=os.path.join(app.root_path, 'flaskr.db'),
SECRET_KEY='development key',
USERNAME='admin',
PASSWORD='default'
))
app.config.from_envvar('FLASKR_SETTINGS', silent=True)
线的解释
DATABASE=os.path.join(app.root_path, 'flaskr.db'),
是:
操作系统知道每个进程的当前工作目录的概念。遗憾的是,您不能在Web应用程序中依赖于此,因为您可能在同一进程中有多个应用程序。
因此,app.root_path属性可用于获取应用程序的路径。与os.path模块一起,可以轻松找到文件。在此示例中,我们将数据库放在它旁边。
任何人都可以用例子解释它,因为我无法理解这个解释?
我理解为:在正常程序中,你首先要做os.chdir(PATH)
,然后打开flaskr.db
。但是,当Flask在一个进程中启动多个应用程序(也就是app
)时,每个应用程序都在一个单独的线程中,但它们共享与当前目录相同的“当前目录”是每个进程而不是每个线程。为了保存,您应该始终使用绝对目录并使用app.root_path
。