Flask笔记:配置文件
如果设置项比较少的话可以使用“app.config['param_name']=value”的形式直接使用,如果需要设置的参数比较多的话,可以单独新建一个配置文件用来存放配置信息(配置文件中的参数需大写),且需要将配置文件中的内容导入到app.config中。
导入配置文件的两种方式:
- from_object:例如在项目文件夹下新建一个“config”py文件,在代码中import config后使用app.config.from_object(config)即可。
- from_pyfile(filename, silent=False):例如在项目文件夹下新建一个配置文件,可以不用是py文件,txt文件或其他文件也行,直接使用app.config.from_pyfile('cfg.txt')就行。filename必须是包含后缀名的文件名全称,silent默认为False,即该配置文件cfg.txt不存在时,会报错,设置silent=True时,则不会报错,直接跳过此行代码。
配置文件中参数设置及其含义如下:
- DEBUG:设置为“True”时表示开启debug模式,设置为“False”表示关闭debug模式,只针对py文件。
- TEMPLATES_AUTO_RELOAD:设置为True时,HTML模板有修改时,ctrl+s后就可自动加载HTML文件,不用重新启动服务器。类似DEBUG,但只针对HTML模板文件。
- SQLALCHEMY_DATABASE_URI:设置数据库连接字符串(这里使用的是sqlalchemy插件),字符串形式是固定的,为“dialect+driver://username:password@host:port/database”,比如MySQL的连接字符串可以如图配置(其中的花括号是Python的一种字符串格式化,就像“%”使用一样),其中driver为Python2的mysqldb,Python3的pymysql,具体以安装的插件为准:
1 # 数据库连接固定格式格式字符串 2 # dialect+driver://username:password@host:port/database 3 DIALECT = 'mysql' 4 DRIVER = 'mysqldb' 5 USERNAME = 'root' 6 PASSWORD = 123456 7 HOST = '127.0.0.1' 8 PORT = '3306' 9 DATABASE = 'db_demo1' 10 11 SQLALCHEMY_DATABASE_URI = '{dialect}+{driver}://{username}:{password}@{host}:{port}/{database}?charset=utf8'.format( 12 dialect=DIALECT, driver=DRIVER, username=USERNAME, password=PASSWORD, host=HOST, port=PORT, database=DATABASE 13 )
- SECRET_KEY:包含24个字符的字符串,用来对session中的数据进行加密操作的,一般采用随机字符串,可以使用os.urandom(24)来生成这个字符串,注意如果重启服务器后这个字符串改变了的话,之前设置的session就获取不到了。
- PERMANENT_SESSION_LIFETIME:设置session的过期时间,datetime.timedelta类型,如果没有设置,则默认为31天,比如设置过期时间为7天:PERMANENT_SESSION_LIFETIME=datetime.timedelta(days=7)。
- SERVER_NAME:设置域名和端口号,如SERVER_NAME='xxx.com:5000'
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
2017-07-02 Python三方库:wxPython(GUI图形用户界面)