2016-11-07 2 views
0

Ich habe eine Hierarchie wie dieseFlask: Reach App aus Unterordnern

Project/ 
|-- app/ 
|-- folder1/ 
| |-- code1.py 
| |-- __init__.py 
|-- __init__.py 

ich von code1.py versuche meine "app" Flask Variable wie app = Flask (__name__) in __init__.py definiert zu erreichen gelegen in App-Ordner

ich nicht scheinen, um meine app Variable zu importieren, habe ich die folgenden- versucht

from Project.app import app 
from .. import app 
from ..app import app 
from ...app import app 

Als ich dieversuchtIch erhalte import issues trying to import code1 (enthält einen Blueprint, den ich unter __init__.py registriere, wo App definiert ist.

+0

Dies ist nicht wirklich ein Problem, Flask, Sie könnte das gleiche Beispiel ohne es machen –

Antwort

2

Angenommen, Ihr Code wird im Projektordner ausgeführt. Das bedeutet, dass das aktuelle Modulverzeichnis 'Projekt' ist. Das bedeutet, dass Sie auf alle Unterordner zugreifen können, solange sie als Module behandelt werden (die Datei __init__.py).

Project/ 
|-- run.py < 
|-- app/ 
|-- folder1/ 
| |-- code1.py 
| |-- __init__.py 
|-- __init__.py 

In run.py allen folgenden gelten

import folder1 
import . 
from folder1 import code1 
from folder1.code1 import <submodule> 

Wenn Ihre Anwendung ist in folder1/__ init__.py

from folder1 import app