0 Câu hỏi: Cách tiêm biến môi trường khác nhau trong dev, test, prod trong Python

câu hỏi được tạo ra tại Wed, May 8, 2019 12:00 AM

Tôi đã từng làm việc với Flask, cung cấp một cách dễ dàng để định cấu hình ứng dụng đang chạy ở các chế độ khác nhau. (nhà phát triển, thử nghiệm, sản phẩm, ...)

class BaseConfig:
    MY_PATH = "Something"

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

# ...

Tôi đang cố gắng xây dựng một cái gì đó tương tự nhưng không sử dụng Flask. Đây là cấu trúc của mã đơn giản nhất tôi có thể tìm thấy:

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

Đối tượng Foo.py có phương thức path tạo ra "path /to /dev" khi ở chế độ dev, "path /to /test" khi ở chế độ thử nghiệm. Viết if trong mã sẽ lộn xộn và khó kiểm tra đúng. Sử dụng biến môi trường có vẻ tốt hơn nhiều. Làm cách nào và ở đâu để tôi đặt cấu hình mà Flask thực hiện?

# 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 Câu trả lời                              0                         
nguồn đặt đây