Während der Entwicklung in Flask, würde ich gerne alle meine Modelle, Controller, ... in ihrer eigenen, separaten Datei. Auf diese Weise muss ich keinen Controller, Modell in einer großen Datei suchen; es hält alles sauber. Es könnte wie folgt aussehen:Split große Python-Datei in Modul mit gemeinsamen Abhängigkeiten
/controllers
__init__.py
login.py
logout.py
profile.py
Alle diese Dateien haben (fast) die gleichen Abhängigkeiten. Ich möchte nicht alle Abhängigkeiten in jeder Datei wieder und wieder einfügen. Eine Lösung, die ich mir ausgedacht habe, ist die Verwendung einer depencies.py
Datei, die alle Abhängigkeiten importiert, die ich dann in jede separate Datei einfüge.
/controllers
__init__.py
dependencies.py (all the imports)
login.py (import dependencies.py)
logout.py (import dependencies.py)
profile.py (import dependencies.py)
Dies ist jedoch keine sehr elegante Lösung. Ich frage mich, ob es möglich ist, etwas wie ein __init__.py
zu tun, das die Abhängigkeiten oben hat und dann die separaten Dateien "einbindet" und dass alles auf diese Weise ausgeführt wird, so dass Sie die gemeinsamen Abhängigkeiten nicht wirklich in jedes einfügen müssen Datei.
Beispiel von dem, was Ich mag (nicht funktioniert) zu tun wäre:
#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
ich nur alle Abhängigkeiten der Module setzen würde. Wenn jedes Modul A B C alle die gleichen Abhängigkeiten X Y Z hat, dann gibt es wahrscheinlich ein gemeinsames Verhalten, das Sie aus A B C und in D extrahieren können. Dann kann A B C von D anstelle von X Y Z abhängen. –