在此链接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模块一起,可以轻松找到文件。在这个例子中,我们将数据库放在它旁边。
任何人都可以通过示例解释它,因为我无法理解这些解释吗?
答案 0 :(得分:0)
我理解为:在普通程序中,您首先执行os.chdir(PATH)
,然后只需打开flaskr.db
。但是,当Flask在一个进程中启动多个应用程序(又名app
)时,每个应用程序都在一个单独的线程中,但它们共享与当前目录相同的“当前目录”是每个进程而不是每个线程。为了保存,您应始终使用绝对目录并使用app.root_path
。