1

だから私はこの方法で構造化されたフラスコアプリを持っています

calvin % tree -L 3 .
.
├── README
├── alembic
│   ├── README
│   ├── env.py
│   ├── env.pyc
│   ├── script.py.mako
│   └── versions
├── alembic.ini
├── api.sublime-project
├── app
│   ├── __init__.py
│   ├── __init__.pyc
│   ├── admin
│   │   ├── __init__.py
│   │   └── __init__.pyc
│   ├── agencies
│   │   ├── __init__.py
│   │   ├── __init__.pyc
│   │   ├── models.py
│   │   └── models.pyc
│   ├── agents
│   │   ├── __init__.py
│   │   ├── __init__.pyc
│   │   ├── models.py
│   │   ├── models.pyc
│   │   ├── views.py
│   │   └── views.pyc
│   ├── api.py
│   ├── api.pyc
│   ├── auth
│   │   ├── __init__.py
│   │   ├── __init__.pyc
│   │   ├── constants.py
│   │   ├── constants.pyc
│   │   ├── decorators.py
│   │   ├── decorators.pyc
│   │   ├── models.py
│   │   ├── models.pyc
│   │   ├── views.py
│   │   └── views.pyc
│   ├── districts
│   │   ├── __init__.py
│   │   ├── __init__.pyc
│   │   ├── models.py
│   │   ├── models.pyc
│   │   ├── views.py
│   │   └── views.pyc
│   ├── helpers.py
│   ├── helpers.pyc
│   ├── middleware.py
│   ├── middleware.pyc
│   ├── models.py
│   ├── models.pyc
│   ├── properties
│   │   ├── __init__.py
│   │   ├── __init__.pyc
│   │   ├── models.py
│   │   └── models.pyc
│   ├── templates
│   │   └── index.html
│   ├── users
│   │   ├── __init__.py
│   │   ├── __init__.pyc
│   │   ├── models.py
│   │   ├── models.pyc
│   │   ├── views.py
│   │   └── views.pyc
│   └── viewings
│       ├── __init__.py
│       ├── __init__.pyc
│       ├── models.py
│       ├── models.pyc
│       ├── views.py
│       └── views.pyc
├── config.py
├── config.pyc
├── manage.py
├── requirements.txt
├── run.py
└── shell.py

models.py実行時にファイルにあるすべてのクラスを自動インポートするようにシェルを設定しています./manage.py shell

そして、これはそれmanage.pyを達成することを目的としたスクリプトです(flask-script docsを参照)

def _make_context():
    from app import models
    return dict(app=app, db=db, models=models)  # TODO: this is not working appropriately
manager.add_command("shell", Shell(make_context=_make_context))

私のapp/models.pyには、すべてのモジュール、「機関」、「認証」などからのインポートステートメントがあります。

ただし、シェル環境に入ると、クラスmodels.Usersに直接Usersではなく as としてアクセスする必要がありますが、これは私が期待しているものではありません。クラスに直接アクセスできるように、すべてを自動インポートするにはどうすればよいですか?

4

2 に答える 2