【发布时间】:2019-01-26 13:49:26
【问题描述】:
这是我的 Flask 应用程序的目录层次结构,后跟当前的 FlaskApp/app/__init__.py 代码:
FlaskApp 目录树:
/FlaskApp
│ config.py
│ run.py
├───app
│ │ db.py
│ │ forms.py
│ │ models.py
│ │ views.py
│ │ __init__.py
│ ├───static\
│ └───templates\
├───instance
│ config.py
__init__.py:
from flask import Flask
app = Flask(__name__,
instance_relative_config=True,
)
app.config.from_object('config')
app.config.from_pyfile('config.py')
使用app.config.from_pyfile('config.py') 从实例文件夹加载配置变量会引发以下错误:
FileNotFoundError: [Errno 2] 无法加载配置文件(没有这样的文件或目录):'C:\..\FlaskApp\app\instance\config.py'
我必须使用unipath 来处理当前路径,通过将instance_path=Path(os.getcwd()).parent + "\instance" 添加到var app 来克服这个问题。
虽然这样做很好地解决了问题,但我相信有更好/更干净的方法来做到这一点(不改变当前目录层次结构)。任何人都可以与此相关吗??
谢谢,
【问题讨论】: