Khi phát triển trong Flask, tôi muốn đặt tất cả các mô hình, bộ điều khiển, ... vào tệp riêng của chúng. Bằng cách đó, tôi không phải tìm bất kỳ bộ điều khiển, mô hình nào trong một tệp lớn; nó giữ mọi thứ sạch sẽ. Nó có thể trông giống như sau:Chia tệp python lớn thành mô-đun với các phụ thuộc chung
/controllers
__init__.py
login.py
logout.py
profile.py
Tất cả những tệp này có (hầu như) cùng phụ thuộc. Tôi không muốn đặt tất cả các phụ thuộc trong mỗi tập tin hơn và hơn nữa. Một giải pháp mà tôi đã đưa ra là sử dụng tệp depencies.py
, nhập tất cả các phụ thuộc, sau đó tôi đưa vào từng tệp riêng biệt.
/controllers
__init__.py
dependencies.py (all the imports)
login.py (import dependencies.py)
logout.py (import dependencies.py)
profile.py (import dependencies.py)
Tuy nhiên, đây không phải là giải pháp rất thanh lịch. Tôi tự hỏi liệu có thể làm điều gì đó giống như một số __init__.py
có phụ thuộc ở trên cùng, sau đó 'bao gồm' các tệp riêng biệt và mọi thứ đều chạy theo cách đó, để bạn không thực sự cần bao gồm các phụ thuộc chung trong mỗi tập tin.
Ví dụ về những gì tôi muốn làm (không hoạt động): nhập khẩu cụ thể
#common dependencies
from app import mail
from flask import session
...
#actual models (which depend on these dependencies)
from user import User
from code import Code
from role import Role
Tôi chỉ muốn đưa phụ thuộc mỗi module trong mô-đun. Nếu mỗi mô-đun A B C có tất cả các phụ thuộc giống nhau X Y Z, thì có thể có một số hành vi phổ biến mà bạn có thể trích ra từ A B C và vào D. Sau đó A B C có thể phụ thuộc vào D thay vì X Y Z. –