Python/Flask: ImportError: Cannot import name 'app' from 'core'

Python/Flask: ImportError: Cannot import name 'app' from 'core'

我已经坚持了 3 个小时了,我在 Google 上查找的解决方案根本没有帮助。我正在使用 Flask,我的文件结构是这样的:

| run.py
|
| core |
     __init__.py
    routes.py
    templates |
             ... (html)
    static |
          ... (js/css)

我不确定错误何时发生,但这是我所有的导入(它们列在每个文件的顶部):

run.py中:

from core import app

__init.py__中:

from core import app, routes
from flask import Flask
from flask_htmlmin import HTMLMIN

from flask_dance.contrib.google import make_google_blueprint
import os

routes.py中:

from flask import render_template, redirect, url_for, request, abort
from core import app, blueprint
from werkzeug.exceptions import HTTPException

from flask_dance.contrib.google import google
import requests

Error

最好的方法是使用蓝图。它使您的应用程序模块化且易于使用。在此处查看文档 Modular applications with Blueprints 总之,您可以让您的应用程序使用此设置: 文件夹结构: ├──|core │   ├── __init__.py │   ├── routes.py │   ├── static │   └── templates ├── run.py └── venv 初始化.py


from flask import Flask
from .routes import main
from flask_htmlmin import HTMLMIN 

from flask_dance.contrib.google import make_google_blueprint
import os

def create_app(config_obj=None):
    app = Flask(__name__)
    app.config.from_object(config_obj)

    # register the blueprints
    app.register_blueprint(main)

    return app

run.py


from core import create_app

class Config:
    DEBUG = True

app = create_app(Config)

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

routes.py


from flask import Blueprint

main = Blueprint('main', __name__)

@main.route('/')
def index():
    return 'My awesome index page!'