flask 几种参数配置方法

一、配置文件

flask中的配置文件是一个flask.config.Config对象(继承字典)

一些重要的配置变量:

变量 描述 默认值
DEBUG 在调试错误的时候给你一些有用的工具。比如当一个请求导致异常的发生时,会出现的一个web界面的调用堆栈和Python命令行。 在开发环境下应该设置成True,在生产环境下应设置为False。
SECRET_KEY Flask使用这个密钥来对cookies和别的东西进行签名。你应该在instance文件夹中设定这个值,并不要把它放入版本控制中。你可以在下一节读到关于instance文件夹的更多信息。 这应该是一个复杂的任意值。
BCRYPT_LEVEL 如果使用Flask-Bcrypt来hash映射用户密码(如果没有,现在就用它),你需要为hash密码的算法指定“rounds”的值。设置的rounds值越高,计算一次hash花费的时间就越长(同样的效果作用于破解方,这个才是重要的)。rounds的值应该随着你的设备的计算能力的提升而增加 如果使用Flask-Bcrypt来hash映射用户密码(如果没有,现在就用它),你需要为hash密码的算法指定“rounds”的值。设置的rounds值越高,计算一次hash花费的时间就越长(同样的效果作用于破解方,这个才是重要的)。rounds的值应该随着你的设备的计算能力的提升而增加

二、配置方法

1. 直接配置

在文件中写 app.config['xxx'] = xxx

app = Flask(__name__)
app.config['DEBUG'] = True
#  ps 由于app.config继承自字典,所以还能用app.config.update({'DEBUG':True})

2. 通过配置文件

app.config.from_pyfile('default_config.py') #  这里defualt_config.py是文件
# default_config.py
HOST = 'localhost'
PORT = 5000
DEBUG = True

3. 通过对象加载(常用)

config对象模块--采用了 基于类继承的config结构,保存默认配置的Config类作为基类,其他类继承之。

##创建一个文件 Configlist.py
class Config(object):
    DEBUG = False
    TESTING = False
    DATABASE_URI = 'sqlite://:memory:'


class ProductionConfig(Config):
    DATABASE_URI = 'mysql://user@localhost/foo'


class DevelopmentConfig(Config):
    DEBUG = True


class TestingConfig(Config):
    TESTING = True

from flask import Flask
from Configlist import *

app = Flask(__name__)

app.config.from_object(ProductionConfig)
print(app.config.get('DATABASE_URI'))  # mysql://user@localhost/foo





猜你喜欢

转载自blog.csdn.net/m0_37519490/article/details/80581340