烧瓶
我将配置文件功能连接到主应用程序,在其中注册蓝图,将其添加到主应用程序。我添加了调试输出来检查函数是否正在运行,但它们没有输出任何内容 这是我的代码
views.py
...
views_bp = Blueprint('views', __name__)
@views_bp.route('/profile')
@login_required
def profile():
print("In profile route")
print(f"Session: {session}")
#debug
if current_user.is_authenticated:
print(f"Current user: {current_user.id}")
else:
print("No user authenticated.")
...
创建_app.py
...
from views import views_bp
from models import User, db
login_manager = LoginManager()
def create_app():
pymysql.install_as_MySQLdb
app = Flask(__name__)
@app.route('/')
def index():
return render_template('index.html')
app.config['SQLALCHEMY_DATABASE_URI'] = '<db.url>'
app.config['SECRET_KEY'] = '<my secret code>'
db.init_app(app)
login_manager = LoginManager()
login_manager.init_app(app)
@login_manager.user_loader
def load_user(user_id):
return User.query.get(int(user_id))
app.register_blueprint(auth_blueprint)
app.register_blueprint(views_bp, url_prefix='/auth')
return app
...
我尝试将以下代码添加到同一文件中:
...
@views_bp.route('/test')
def test():
return "Test Page"
...
它成功了,我在 http://127.0.0.1:5000/auth/test
上看到了“测试页面”我还尝试删除@login_required以查看是否有问题,但没有。
我不知道,很可能是一些非常愚蠢的错误,但我很久没找到它
如果我需要在问题中添加一些内容 - 请告诉我
我发现在我的另一个蓝图中我有一个 /profile 的功能,我添加了用于调试,但忘记删除,我觉得很愚蠢