python从父目录导入'__初始值';文件

python从父目录导入'__初始值';文件,python,flask,import,Python,Flask,Import,我正在开发具有以下结构的flask应用程序: . ├── app │   ├── __init__.py │   ├── forms │   │   └── login.py │   ├── models │   │   ├── __init__.py │   │   └── user.py │   ├── templates │   │   ├── base.html │   │   ├── home.html │   │   └── login.html │   └── views │  

我正在开发具有以下结构的flask应用程序:

.
├── app
│   ├── __init__.py
│   ├── forms
│   │   └── login.py
│   ├── models
│   │   ├── __init__.py
│   │   └── user.py
│   ├── templates
│   │   ├── base.html
│   │   ├── home.html
│   │   └── login.html
│   └── views
│       ├── __init__.py
│       └── login.py
app/\uuuuu init\uuuuu.py
中,我正在创建LoginManager扩展的一个实例:

from flask import Flask
from config import app_config
from flask_login import LoginManager

def create_app(config_mode='development'):
    """Wrapping app creation in factory according to specified config."""

    app = Flask(__name__, template_folder='templates')

    ...

    # register login manager extension
    login = LoginManager(app)

    return app
我现在需要在
app/models/user.py
中导入
login
,以便提供
user\u loader
实现:

from flask_sqlalchemy import SQLAlchemy
from flask_login import UserMixin


from . import db
from .. import login

class User(UserMixin, db.Model):
    """User model."""

    ...

@login.user_loader
def load_user(id):
    return User.query.get(int(id))
但是,任何尝试都会因以下情况而失败:

from .. import login
ImportError: cannot import name 'login'
我的问题是:有没有办法从父目录
\uuuu init\uuuuu.py
文件导入,或者我在这里犯了其他错误

我尝试了大量不同的绝对进口和相对进口组合,但都得到了相同的结果,并在SO和谷歌上进行了广泛搜索,但没有找到我问题的直接答案。我希望将
user.py
模块保留为当前目录,因为目录结构良好且组织简洁

提前谢谢


编辑:澄清导入位置

您应该使用
create\u app
函数创建
LoginManager
的实例。然后您可以使用
init\u app
方法将其配置为登录

from flask import Flask
from flask-login import LoginManager

login_manager = LoginManager()

def create_app(config):
    app = Flask(__name__)
    login_manager.init_app(app)
    return app

上升而不是下降。使用app.models导入登录名中的
我的不好,我的描述措词不好。我需要从应用程序目录而不是模型目录导入。先生,你是一个活生生的保护程序。它就像一个符咒。谢谢