gpt4 book ai didi

python - 从 Flask 中的蓝图中删除全局应用程序引用

转载 作者:太空宇宙 更新时间:2023-11-03 19:45:07 24 4
gpt4 key购买 nike

我目前正在学习 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"

auth模块的__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,但是当我想从app.models中删除import app时,如何访问数据库.User导入User部分?

最佳答案

from . import db
from ..models.User import User

关于python - 从 Flask 中的蓝图中删除全局应用程序引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60184852/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com