【问题标题】:Getting import error when importing db from app.py从 app.py 导入 db 时出现导入错误
【发布时间】:2020-10-28 10:39:36
【问题描述】:

app.py 文件

from flask import Flask
from flask_sqlalchemy import SQLAlchemy
from database import CreateQuestions

app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = "postgres://jim:password@localhost:5433/exquizdb"
db = SQLAlchemy(app)


@app.route('/questions')
def post_question():
    q = 'hey'
    a = 'hi'
    CreateQuestions.Create_questions(q, a)


@app.route('/')
def hello_world():
    return 'Hello World!'


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

数据库.py

# database.py
from app import db


class Questions(db.Model):
    question_id = db.Column(db.Integer, primary_key=True)
    question = db.Column(db.Text)


class Answers(db.Model):
    answer_id = db.Column(db.Integer, primary_key=True)
    answer = db.Column(db.Text)
    question_id = db.Column(db.Integer, db.ForeignKey('questions.question_id'))


class CreateQuestions:
    def create_questions(self, q, a):
        ques = Questions(question=q)
        ans = Answers(answer=a)
        db.create_all()
        db.session.add(ques)
        db.session.add(ans)
        db.session.commit()

当我运行应用程序时,出现“ImportError: cannot import name 'db' from 'app''的崩溃。我不知道我做错了什么。当我在同一个文件上执行它们时,它可以工作。当我从 app.py 文件中取出数据库模型时,它不再工作了。谢谢你的帮助

【问题讨论】:

    标签: python database flask flask-sqlalchemy


    【解决方案1】:

    实例化数据库后导入数据库。

    from flask import Flask
    from flask_sqlalchemy import SQLAlchemy
    
    app = Flask(__name__)
    app.config['SQLALCHEMY_DATABASE_URI'] = "postgres://jim:password@localhost:5433/exquizdb"
    db = SQLAlchemy(app)
    from database import CreateQuestions
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-11-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-20
      • 2018-12-27
      • 1970-01-01
      • 2017-11-04
      相关资源
      最近更新 更多