В настоящее время я работаю над изучением Flask и создаю рабочую страницу с функциями входа в систему. Теперь я хочу удалить глобальный экземпляр приложения и начать использовать чертежи для подмодулей.
Мой проект структурирован так:
+ app
+ auth
- __init__.py
- forms.py
- routes.py
+ main
+ models
+ templates
- __init__.py
+ migrations
- index.py
- config.py
Нет, я добавил план к routes.py
и использовал там декораторы:
from flask import render_template, flash, redirect, url_for, request, Blueprint
from app import app, db
from app.auth.forms import LoginForm, RegistrationForm
# ...
from app.models.User import User
blueprint = Blueprint('auth', __name__)
@blueprint.route('/login', methods=['GET', 'POST'])
def login():
return "example login"
__init__.py
модуля аутентификации:
from . import forms, routes
Чертеж добавляется в __init__.py
папки приложения:
# ...
app = Flask(__name__)
app.config.from_object(Config)
db = SQLAlchemy(app)
from app.auth.routes import blueprint as auth_bp
app.register_blueprint(auth_bp)
После использования декораторов @blueprint мне больше не нужен @app, но как я могу получить доступ к БД, когда хочу удалить import app
и from app.models.User import User
part?