flask db init错误:无法导入“ app.run”

时间:2019-07-23 19:31:11

标签: python python-3.x flask flask-sqlalchemy

我正在尝试初始化我的数据库,并且每次我运行flask db init命令时,都会收到该错误。

我不确定为什么我的FLASK_APP和FLASK_ENV设置正确。

在此之前的时刻,我一直在重新组织项目结构和文件名,以更加遵守烧瓶准则。

run.py

from app import app

app.run(debug=True)

config.py

import os


basedir = os.path.abspath(os.path.dirname(__file__))
SQLALCHEMY_DATABASE_URI = 'sqlite:///' + os.path.join(basedir, 'app.db')
SQLALCHEMY_TRACK_MODIFICATIONS = True

初始化 .py

from flask import Flask
from flask_sqlalchemy import SQLAlchemy
from flask_migrate import Migrate


app = Flask(__name__)
app.config.from_object('config')
db = SQLAlchemy(app)

migrate = Migrate(app, db)

from app import views, models

db_create.py

from config import SQLALCHEMY_DATABASE_URI
from app import db
import os.path


db.create_all()

models.py

from app import db


class Property(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    address = db.Column(db.String(500), index=True, unique=True)
    start_date = db.Column(db.DateTime)
    duration = db.Column(db.Integer)
    rent = db.Column(db.Float)

views.py

from app import app
from flask import render_template

@app.route('/')
def index():
    return render_template('index.html')


错误:

$ flask db初始化 用法:flask db init [OPTIONS]

错误:无法导入“ app.run”。

编辑:文件夹结构,以便您更好地了解:

config.py
run.py
app/
    __init__.py
    db_create.py
    models.py
    views.py
    static/
    templates/
        index.html
        layout.html

再次添加:问题不在运行我的代码,而是当我尝试使用flask db init

初始化数据库时

尝试运行此命令时,我在终端中收到错误消息,希望有人可以帮助我找出原因,然后修复它,谢谢阅读:)

1 个答案:

答案 0 :(得分:0)

请确保您的工作目录不在烧瓶应用app/内。

    flask_app/
        config.py
        run.py
        app/
            __init__.py
            db_create.py
            models.py
            views.py
            static/
            templates/
                index.html
                layout.html

在这种情况下,您的工作目录应为flask_app/