2016-12-26 4 views
0

Ich möchte eine API mit Flask machen und es muss auch ein Admin-Panel haben. Ich denke, dass Blueprints der Weg sind, aber ich möchte keine Modelle zweimal machen.Flask Blueprints teilen

Meine Struktur wird dies sein:

- app - api - admin - models

Also meine Frage ist: Wie kann ich die Modelle im models Ordner in meinem api Plan und mein admin Entwurf zugreifen?

Vielen Dank im Voraus.

Antwort

0

, wenn Sie in einem Modul würde innerhalb der api oder admin Ordner können Sie alles von einem Modul im models Ordner importieren dieser Notation

from ..models.module_name import model1, model2, etc 

für kleine Projekte i halten in der Regel alle Modelle in einem einzigen models.py Datei wie:

[app] 
    [blueprint_1] 
    __init__.py 
    views.py 
    [blueprint_2] 
    [static] 
    [templates] 
    __init__.py 
    models.py 

dann aus jedem Ihrer Plan-Dateien einfach:

from ..models import model1, model2, etc 
+0

Danke, ich dachte, dass der Import aus dem aktuellen Ordner heraus und ohne zurück ging. –

+0

Kein Problem, hoffe das hilft – abigperson

0

Über den Import, Wenn Ihr Verzeichnis __init__.py enthält, dann ist es ein Python-Paket, so . Verwendung für aktuelle dir. Zum Beispiel:

auth/ 
    __init__.py 
    forms.py 
    views.py 
#views.py 
from forms import Form name 
from . import auth_blueprint # imports from __init__.py 

Also, wenn Sie aus einem anderen Verzeichnis importieren will, dass Sie haben .. die Einfuhren zu verwenden, aus __init__.py Datei lassen Sie uns sagen, dass Ihre Modelle Verzeichnis enthalten diese Dateien:

models/ 
    __init__.py 
    UserModel.py 

Nun lasst uns Importmodelle für Auth-Modul:

#auth/views.py 
from .. import models # import froms models/__init__.py 
from ..models import UserModel 
Verwandte Themen