0 Как ввести разные переменные среды в dev, test, prod в Python

вопрос создан в Wed, May 8, 2019 12:00 AM

Раньше я работал с Flask, который предлагает простой способ настройки приложения, работающего в разных режимах. (dev, test, prod, ...)

class BaseConfig:
    MY_PATH = "Something"

class DevelopmentConfig(BaseConfig):
    MY_PATH = "Something else"

# ...

Я пытаюсь создать нечто подобное, но без использования Flask. Вот структура самого простого кода, который я смог найти:

-src
  - main.py
  - zip2h5
    - __init__.py
    - foo.py
-test
  - __init__.py
  - test_foo.py

Объект Foo.py имеет метод path, который выводит «путь /к /dev» в режиме разработки, «путь /к /тест» в режиме тестирования. Запись операторов if в коде была бы грязной и трудной для правильной проверки. Использование переменной окружения кажется намного лучше. Как и где я могу установить настройки, которые делает Flask?

# foo.py
class Foo():

    def __init__(self, name):
        self.name = name

    def path(self):
        return "path/in/dev"

# test_foo.py
class TestFoo(unittest.TestCase):

    def test_path(self):
        boo = Foo("Boo")
        expected = "path/in/test"
        self.assertEquals(boo.path(), expected)
    
0
0 ответов                              0                         
источник размещен Вот