В моем приложении пилонов я хочу добавить некоторые данные по настройке. (пользователь)
Для защиты паролей в базе данных я хэшировал пароли с солью , эта соль хранится в файле конфигурации.
Если я хочу получить солт-ключ из конфигурации, я делаю это (сокращенный пример):
from pylons import config
saltkey = config.get("saltkey")
Если этот код размещен, например, в модели, он возвращает солт-ключ. В пользовательской модели этот код используется для создания хеша с солью.
Однако, если я хочу создать экземпляр этой модели в "websetup.py", конфигурация имеет другое содержимое и не может получить солт-ключ (что приводит к ошибке)
def setup_app(command, conf, vars):
load_environment(conf.global_conf, conf.local_conf)
Base.metadata.create_all(bind=Session.bind)
user = User('admin', 'password123', 'test@test.com')
Session.add(user)
Session.commit()
Мой вопрос: почему в конфиге другой контент? И как я могу исправить эту проблему без уродливого взлома?