Почему __init__.py не видит секретный ключ?

Если вношу секретный ключ прямо в __init__.py то все ок:
from flask import Flask
app = Flask(__name__)
app.config['SECRET_KEY'] = 'qwerty'
from app import routes

Проверяю python test.py :
import app
print(app.app.config['SECRET_KEY'])

Но я хочу секретный ключ поместить в отдельный файл, например в config.py:
import os

class Config(object):
    SECRET_KEY = os.environ.get('SECRET_KEY') or 'qwerty'

В __init__.py вставляю:
from flask import Flask
from config import Config

app = Flask(__name__)

app.config.from_object(Config)

from app import routes

И вывод python test.py : None
И ошибка на сайте на странице формы пользователя.

Понял как отдельным файлом:
в config.py просто вставить SECRET_KEY = 'qwerty'
а в __init__.py:
app.config.from_pyfile('config.py')
Но хочется с class Config оформить.
  • Вопрос задан
  • 27 просмотров
Решения вопроса 1
cubinez85
@cubinez85 Автор вопроса
Понял в чем моя ошибка: config.py должен находится в каталоге верхнего уровня(в папке проекта), не в папке app, где находится init.py
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы