Dies ist, wie meine Ordner und Dateien wie folgt aussehen:ein Attribut aus übergeordnetem Verzeichnis zu importieren
/app
__init__.py
/admin
__init__.py
models.py
und app/__init__.py
Datei:
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
from app.admin.models import *
app = Flask('app')
@app.route('/users', methods=['GET'])
def show_users():
return "list of all Users:\n" + User.query.limit(5).all()
und app/admin/models.py
: habe
Ich mag Zugang zu meinem User
Modell in init
Datei, von Import from parent directory und import script from a parenet directory Ich habe versucht, from app import *
oder from .. import app
oder setzen auch db = SQLAlchemy(app)
in __init__
Datei und importieren Sie es in models.py
mit from app import db
oder from .. import db
aber ich halte mich app
und db
immer sind nicht definiert und auch ich denke, es ist seltsam, dass ich beide Datei importieren sollte in gegenseitig.
Ich habe das gleiche Problem noch: 'kann Name db nicht importieren – Arman
Der Modellimport sollte nach der Erweiterung sein initialisieren' db = SQLAlchemy (app) '' aus app.admin.models import * ' – metmirr
Jetzt funktioniert es! aber warum DB-Definition sollte vor dem Importieren von Modellen sein? – Arman