Flask项目无法从__init__.py导入app调用app.config的问题咨询
解决方案
你使用了Flask的应用工厂模式,app实例是create_app函数被调用时才动态生成的,没有提前初始化的全局app实例可以直接导入,直接强制导入还会触发循环导入报错。
修复步骤
- 在post.py的Flask导入项中加入
current_app - 把调用
app.config的代码替换为current_app.config
修改后的post.py代码示例
导入部分调整:
from flask import Blueprint, render_template, request, flash, redirect, url_for, session, current_app # 其余导入保持不变
文件保存逻辑调整:
photo.save(path.join(current_app.config['UPLOAD_FOLDER'], secure_filename(photo.filename)))
current_app是Flask内置的应用上下文代理,在路由函数运行的请求上下文环境中,会自动指向你通过工厂函数创建的app实例,不需要手动导入,完美适配应用工厂的开发模式。
内容的提问来源于stack exchange,提问作者Omar_Jandali
相关产品推荐
相关产品推荐

