- это иерархия каталогов моего приложения 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
.
Хотя это очень хорошо решило проблему, я считаю, что есть лучший / более чистый способ сделать это ( без изменения текущей иерархии каталогов ). Кто-нибудь может относиться к этому ??
Спасибо