我尝试使用config.from_pyfile和config.from_object加载flask配置。为了简单起见,我将config对象放在与我的Flask应用程序对象相同的文件中,并在设置后打印一些配置键。
flask_app = Flask(__name__, instance_relative_config=True)
class Config():
SQLALCHEMY_DATABASE_URI = "postgresql://root:root@localhost/root"
FLASK_DEBUG = True
FLASK_ENV = "development"
DEBUG = True
ENV = "development"
flask_app.config.from_object(Config)
#this gets printed in both cases as - True
#but the server is not in debug mode
print(flask_app.config['FLASK_DEBUG'])现在当我运行服务器时使用-
python run.py
包含运行服务器的主方法的run.py,配置被正确加载并且我能够使用调试模式,但是如果我使用Flask run运行我的服务器,配置不被加载,即使更新的配置被打印出来。
发布于 2019-03-10 00:09:59
您正在尝试使用flask中提供的应用程序工厂运行应用程序。在你的例子中,你必须这样设置你的应用程序函数:
class Config():
SQLALCHEMY_DATABASE_URI = "postgresql://root:root@localhost/root"
FLASK_DEBUG = True
FLASK_ENV = "development"
DEBUG = True
ENV = "development"
def create_app(config_filename):
app = Flask(__name__)
app.config. from_object(Config)
from yourapplication.model import db
db.init_app(app)
#==========================
#Your other initilazations
#==========================
return app然后运行命令flask run
欲了解更多详情,请访问http://flask.pocoo.org/docs/1.0/patterns/appfactories/
发布于 2019-03-11 21:04:40
在您的Pycharm应用程序中,在右上角,有一个下拉菜单旁边的播放、停止、暂停按钮,从下拉菜单中,您需要进入flask web应用程序设置,在这个新窗口中有一个复选框,您需要选中它来运行调试环境。
如果您使用Pycharm创建初始项目,则此答案尤其相关。
发布于 2020-06-25 04:37:49
如果您正在使用来自不同文件的配置对象,例如config.py,那么您需要设置指向config.py文件的APP_CONFIG_FILE环境变量,然后运行flask run。这为我解决了这个问题。
https://stackoverflow.com/questions/55078512
复制相似问题