在PyCharm中直接在程序中设置debug是无法生效的,需要在调试配置中选择对应项目并勾选上FLASK_DEBUG才能使程序中设置的debug生效,如下图。下面会赘述一下debug的作用及开启方法。
FLASK_DEBUG开启前:
在这里插入图片描述
flask默认下的debug是关闭状态,开启debug后每次保存会自动刷新代码,不需要保存后重新运行。此外,debug关闭状态程序出错在前台是无法查看错误信息的。
用一个简单的错误例子 1 / 0 来对比一下
在debug关闭状态:
可以看到控制台报错,前台并未展示错误信息,且修改后并未重新开启程序。
debug开启状态:
前台和控制台皆报错,在修改成 r = 1/1后 ctrl+s会重新加载程序。
修改后保存:
在前台中可以使用控制台中提供的PIN实现一些简单的调试。
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
return 'Hello World!'
if __name__ == '__main__':
app.run(debug=True)
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
return 'Hello World!'
if __name__ == '__main__':
app.debug = True
app.run()
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
return 'Hello World!'
if __name__ == '__main__':
app.config.update(DEBUG=True)
app.run()
硬编码形式配置config
from flask import Flask
app = Flask(__name__)
app.config['DEBUG'] = True
@app.route('/')
def hello_world():
return 'Hello World!'
if __name__ == '__main__':
app.run()
也可以通过加载配置文件configs来开启debug,需要注意的是通过配置参数来开启debug时,必须大写DEBUG。
flask会在应用开始时载入配置,对于不同的应用环境,需要不同的配置,比如DEBUG、TESTING等。而不管何种方式载入配置,都可通过config来设置配置的值。
config实质上是一个字典的子类,可以通过字典的方式来修改相关配置值。
app = Flask(__name__)
app.config['DEBUG'] = True
某些在Flask 对象中的配置可以:
app.testing = True
前面说config是字典的子类,它同样拥有dict的update()方法,可以使用config.update()来实现一次更新多个配置。
app.config.update(
TESTING = True,
DEBUG = True,
SECRT_KEY = b'_5#y2L"F4Q8z\n\xec]/'
)
在应用包外新建一个配置文件 configs.py 来存放所有配置项,方便后期修改。
DEBUG = True
HOST = '127.0.0.1'
PORT = 5000
USERNAME = 'root'
PASSWORD = 123456
app.config.from_object('configs')
from . import configs
app.config.from_object(configs)
最后附上flask说明文档(配置管理)