网站建设的网络,手机中国官网报价,ui设计培训费一般多少,罗湖附近公司做网站建设哪家便宜一、配置#xff1a;
Flask中的配置文件是一个flask.config.Config对象#xff08;继承字典#xff09;。后续会剖析源码瞅瞅。
基本方法#xff1a;
直接设置配置项——可以直接在应用程序中设置配置项#xff0c;而不使用配置文件或环境变量。例如#xff0c;在应用…一、配置
Flask中的配置文件是一个flask.config.Config对象继承字典。后续会剖析源码瞅瞅。
基本方法
直接设置配置项——可以直接在应用程序中设置配置项而不使用配置文件或环境变量。例如在应用程序中使用以下代码设置配置项
from flask import Flaskapp Flask(__name__)
app.config[DEBUG] True
app.config[SECRET_KEY] GuHanZheIsCool
开头讲了Config对象继承字典所以还可以使用app.config.update(…)。
使用配置文件——将所有的配置项写入一个配置文件中并通过app.config.from_pyfile()方法导入。例如在应用程序的根目录下创建一个名为config.py的配置文件然后使用以下代码导入配置
from flask import Flaskapp Flask(__name__)
app.config.from_pyfile(config.py)
config.py配置文件示例
DEBUG True
SECRET_KEY GuHanZheIsCool
DATABASE_URI mysql://user:passwordlocalhost/demodatabase
使用环境变量——将配置项以环境变量的形式设置并通过app.config.from_envvar()方法导入。例如在终端或命令行中设置环境变量FLASK_CONFIG为配置文件的路径然后使用以下代码导入配置
from flask import Flaskapp Flask(__name__)
app.config.from_envvar(FLASK_CONFIG)
但是在真实开发时我们会面临一个问题——一般一个项目会有测试、开发和生产三大环境这三大环境下的配置会各有不同比如不同的数据库、不同的cookie配置等。所以Flask为我们提供了一个非常适合开发的解决方法。如下
真实开发使用的方法
使用类配置——创建一个配置类将所有的配置项作为类的属性并通过app.config.from_object()方法导入。例如创建一个名为Config的配置类然后使用以下代码导入配置
from flask import Flaskapp Flask(__name__)
# 配置文件 导入settings.py文件里的DevelopmentConfig类对象里的所有配置项
app.config.from_object(settings.DevelopmentConfig)app.route(/index, methods[GET, POST])
def index():return hello worldif __name__ __main__:app.run(localhost, 4000)
同级目录下的settings.py文件
import osclass BaseConfig(object):Base Configuration# Root path of projectPROJECT_PATH os.path.abspath(os.path.join(os.path.dirname(__file__), ..))DEBUG TrueSECRET_KEY GuHanZheIsCool# Redis configurationREDIS_URL os.environ.get(REDIS_URL)# File settingUPLOAD_FILE_FOLDER ./project/data # 上传文件存储路径FILE_MAX_SIZE 30 * 1024 * 1024class ProductionConfig(BaseConfig):Production ConfigurationDEBUG Falseclass DevelopmentConfig(BaseConfig):Development Configurationpassclass TestingConfig(BaseConfig):Testing Configurationpass
在 Flask 中配置文件通常是一个 Python 模块其中包含各种 Flask 配置选项的值。以下是 Flask 配置文件中可设置的一些基本选项 DEBUG: 是否启用调试模式如果设置为 True可以在网页中看到详细的错误信息和调试信息。同时会使我们的项目自动重新加载——在调试模式下如果应用程序的代码发生更改服务器会自动重新加载应用程序以便立即反映代码的修改而无需手动重启服务器。 SECRET_KEY: secret key 是 Flask 中加密cookie所需的密钥它是加密算法的“种子”确保加密的安全性。需要保证每个应用程序都有一个固定的密钥建议使用生成随机密钥的工具生成一个。 SQLALCHEMY_DATABASE_URI: 指定 SQLite、MySQL 或 PostgreSQL 数据库的 URI表示要连接到的数据库。 SQLALCHEMY_TRACK_MODIFICATIONS: 是否启用 SQLAlchemy 的跟踪修改。默认值是 False。要禁用跟踪修改可以将其值设置为 False。 CACHE_TYPE: 缓存类型支持 SimpleCache、RedisCache 和 MemcachedCache。 CACHE_DEFAULT_TIMEOUT: 默认缓存时间单位为秒。 SESSION_TYPE: session类型支持 Redis、Memcached、Filesystem 等。 SESSION_COOKIE_NAME: session cookie 名称。 SESSION_COOKIE_SECURE: 是否使用安全 cookies在使用 HTTPS 协议时可以设置为 True。 SESSION_PERMANENT: cookie 是否永久有效。 SESSION_FILE_DIR: 文件存储 session 时的保存路径。 UPLOAD_FOLDER: 文件上传时的保存路径。
上面只是Flask 配置文件中的一些基本选项详细需要查看 Flask 官方文档了解更多有关配置选项的信息。
以下是Flask官方文档中关于配置项的一些开发中常需查询的链接
Flask配置文档https://flask.palletsprojects.com/en/2.0.x/config/Flask配置字典的说明https://flask.palletsprojects.com/en/2.0.x/api/#configurationFlask开发服务器配置选项https://flask.palletsprojects.com/en/2.0.x/server/Flask应用程序的配置模式https://flask.palletsprojects.com/en/2.0.x/patterns/appfactories/Flask-WTF扩展的配置选项https://flask-wtf.readthedocs.io/en/0.15.x/config.html
在这些文档中有Flask配置项的详细说明和示例。提供了关于如何设置和使用配置项的详细说明以及每个配置项的作用和默认值。