FLASK学习杂记(一)Pycharm中DEBUG开启以及FLASK配置

FLASK学习杂记(一)

  • PyCharm 中debug开启问题
    • debug的作用
    • debug开启方法
      • 1.在run()方法中设置debug=True
      • 2.设置对象实例
      • 3.设置配置参数config
  • 配置与配置文件
    • config
      • 硬编码形式写入配置
      • 一次更新多个配置
    • 配置文件
      • from_object()方法引入配置
      • import 导入

PyCharm 中debug开启问题

在PyCharm中直接在程序中设置debug是无法生效的,需要在调试配置中选择对应项目并勾选上FLASK_DEBUG才能使程序中设置的debug生效,如下图。下面会赘述一下debug的作用及开启方法。
FLASK_DEBUG开启前:
在这里插入图片描述

开启:FLASK学习杂记(一)Pycharm中DEBUG开启以及FLASK配置_第1张图片
FLASK学习杂记(一)Pycharm中DEBUG开启以及FLASK配置_第2张图片

开启后:
FLASK学习杂记(一)Pycharm中DEBUG开启以及FLASK配置_第3张图片

debug的作用

flask默认下的debug是关闭状态,开启debug后每次保存会自动刷新代码,不需要保存后重新运行。此外,debug关闭状态程序出错在前台是无法查看错误信息的。
用一个简单的错误例子 1 / 0 来对比一下
在debug关闭状态:FLASK学习杂记(一)Pycharm中DEBUG开启以及FLASK配置_第4张图片
可以看到控制台报错,前台并未展示错误信息,且修改后并未重新开启程序。
debug开启状态:
FLASK学习杂记(一)Pycharm中DEBUG开启以及FLASK配置_第5张图片
前台和控制台皆报错,在修改成 r = 1/1后 ctrl+s会重新加载程序。
修改后保存:FLASK学习杂记(一)Pycharm中DEBUG开启以及FLASK配置_第6张图片
在前台中可以使用控制台中提供的PIN实现一些简单的调试。
FLASK学习杂记(一)Pycharm中DEBUG开启以及FLASK配置_第7张图片

debug开启方法

1.在run()方法中设置debug=True

from flask import Flask
app = Flask(__name__)

@app.route('/')
def hello_world():
    return 'Hello World!'

if __name__ == '__main__':
    app.run(debug=True)

2.设置对象实例

from flask import Flask
app = Flask(__name__)

@app.route('/')
def hello_world():
    return 'Hello World!'

if __name__ == '__main__':
	app.debug = True
    app.run()

3.设置配置参数config

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

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

from_object()方法引入配置

app.config.from_object('configs')

import 导入

from . import configs
app.config.from_object(configs)

最后附上flask说明文档(配置管理)

你可能感兴趣的:(flask,python,flask)