Python SQLALCHEMY_数据库_URI';不在app.config和AttributeError:';SQLAlchemy';对象没有属性';配置';

Python SQLALCHEMY_数据库_URI';不在app.config和AttributeError:';SQLAlchemy';对象没有属性';配置';,python,flask,flask-sqlalchemy,Python,Flask,Flask Sqlalchemy,我正在创建一个与flask extension flask_用户集成的flask应用程序 但是,当我尝试运行应用程序时,我不断遇到以下错误: “SQLALCHEMY\u DATABASE\u URI”不在app.config中,并且 AttributeError:'SQLAlchemy'对象没有属性'config' 这是我的密码: app.py from flask import Flask,render_template from modules.database import create_

我正在创建一个与flask extension flask_用户集成的flask应用程序

但是,当我尝试运行应用程序时,我不断遇到以下错误:

“SQLALCHEMY\u DATABASE\u URI”不在app.config中,并且 AttributeError:'SQLAlchemy'对象没有属性'config'

这是我的密码:

app.py

from flask import Flask,render_template
from modules.database import create_db
from config import config
from flask_user import login_required, current_user,UserMixin

app = Flask(__name__)
config_name='development'
app.config.from_object(config[config_name])
db,User,Stripe,Plans,Usage,Tasks=create_db(app)

@app.route('/')
def home():
    return 'Hello'

if __name__ == '__main__':
    app.run()
class Config:

        USER_APP_NAME='App Test'
        USER_AFTER_REGISTER_ENDPOINT='plans'

class Dev_Config(Config):
        ENV='development'
        DEBUG=True
        SQLALCHEMY_DATABASE_URI='sqlite:///dev_db.db'
        CSRF_ENABLED=True
        SECRET_KEY = '2345frtjislkmnqwers'

class Prod_Config(Config):
        DEBUG=False


config={'development': Dev_Config,
        'production': Prod_Config}
def create_db(app):

    db = SQLAlchemy(app)

    class User(db.Model, UserMixin):
        id=db.Column(db.Integer,primary_key=True)
        password = db.Column(db.String(255),nullable=False, server_default='')
        email = db.Column(db.String(255),nullable=False,unique=True)
        confirmed_at = db.Column(db.DateTime())
        plan_id=db.Column(db.Integer, db.ForeignKey('plans.id'),default=1)
        active=db.Column(db.Boolean(),nullable=False, server_default='0')

     ...


    class Tasks(db.Model):
        id=db.Column(db.Integer,primary_key=True)
        task=db.Column(db.String(50),nullable=False,unique=True)
        credits=db.Column(db.Integer,nullable=False)

    db.create_all()
    db_adapter=SQLAlchemy(db,User)
    user_manager=UserManager(db_adapter,app)



    return (db,User,Stripe,Plans,Usage,Tasks)

config.py

from flask import Flask,render_template
from modules.database import create_db
from config import config
from flask_user import login_required, current_user,UserMixin

app = Flask(__name__)
config_name='development'
app.config.from_object(config[config_name])
db,User,Stripe,Plans,Usage,Tasks=create_db(app)

@app.route('/')
def home():
    return 'Hello'

if __name__ == '__main__':
    app.run()
class Config:

        USER_APP_NAME='App Test'
        USER_AFTER_REGISTER_ENDPOINT='plans'

class Dev_Config(Config):
        ENV='development'
        DEBUG=True
        SQLALCHEMY_DATABASE_URI='sqlite:///dev_db.db'
        CSRF_ENABLED=True
        SECRET_KEY = '2345frtjislkmnqwers'

class Prod_Config(Config):
        DEBUG=False


config={'development': Dev_Config,
        'production': Prod_Config}
def create_db(app):

    db = SQLAlchemy(app)

    class User(db.Model, UserMixin):
        id=db.Column(db.Integer,primary_key=True)
        password = db.Column(db.String(255),nullable=False, server_default='')
        email = db.Column(db.String(255),nullable=False,unique=True)
        confirmed_at = db.Column(db.DateTime())
        plan_id=db.Column(db.Integer, db.ForeignKey('plans.id'),default=1)
        active=db.Column(db.Boolean(),nullable=False, server_default='0')

     ...


    class Tasks(db.Model):
        id=db.Column(db.Integer,primary_key=True)
        task=db.Column(db.String(50),nullable=False,unique=True)
        credits=db.Column(db.Integer,nullable=False)

    db.create_all()
    db_adapter=SQLAlchemy(db,User)
    user_manager=UserManager(db_adapter,app)



    return (db,User,Stripe,Plans,Usage,Tasks)

数据库.py

from flask import Flask,render_template
from modules.database import create_db
from config import config
from flask_user import login_required, current_user,UserMixin

app = Flask(__name__)
config_name='development'
app.config.from_object(config[config_name])
db,User,Stripe,Plans,Usage,Tasks=create_db(app)

@app.route('/')
def home():
    return 'Hello'

if __name__ == '__main__':
    app.run()
class Config:

        USER_APP_NAME='App Test'
        USER_AFTER_REGISTER_ENDPOINT='plans'

class Dev_Config(Config):
        ENV='development'
        DEBUG=True
        SQLALCHEMY_DATABASE_URI='sqlite:///dev_db.db'
        CSRF_ENABLED=True
        SECRET_KEY = '2345frtjislkmnqwers'

class Prod_Config(Config):
        DEBUG=False


config={'development': Dev_Config,
        'production': Prod_Config}
def create_db(app):

    db = SQLAlchemy(app)

    class User(db.Model, UserMixin):
        id=db.Column(db.Integer,primary_key=True)
        password = db.Column(db.String(255),nullable=False, server_default='')
        email = db.Column(db.String(255),nullable=False,unique=True)
        confirmed_at = db.Column(db.DateTime())
        plan_id=db.Column(db.Integer, db.ForeignKey('plans.id'),default=1)
        active=db.Column(db.Boolean(),nullable=False, server_default='0')

     ...


    class Tasks(db.Model):
        id=db.Column(db.Integer,primary_key=True)
        task=db.Column(db.String(50),nullable=False,unique=True)
        credits=db.Column(db.Integer,nullable=False)

    db.create_all()
    db_adapter=SQLAlchemy(db,User)
    user_manager=UserManager(db_adapter,app)



    return (db,User,Stripe,Plans,Usage,Tasks)

当我运行flask时,数据库已成功创建,但出现了错误消息

我不明白为什么它返回的错误“SQLALCHEMY\u DATABASE\u URI”不在app.config中,因为显然在config.py中,SQLALCHEMY\u DATABASE\u URI已经配置好了。而且在那里

另外,错误消息“SQLAlchemy”对象没有属性“config”意味着什么?为什么会这样


有人能帮忙吗?非常感谢。

这条线在干什么
db\u adapter=SQLAlchemy(db,User)
。SQLAlchemy构造函数假定第一个位置参数是Flask应用程序的实例,而不是您在这里传递的另一个SQLAlchemy实例。类似地,作为第二个位置参数传入的用户对象也被指定给use\u native\u unicode参数。