03 Flask-添加配置信息

news2024/11/17 13:44:07

回顾之前学习的内容

02 Flask-快速上手

Flask 中最简单的web应用组成

1. 导入核心库 Flask

from flask import Flask

2. 实例化 web应用

注意:不要漏了 app = Flask(__name__) 中的 __name__
表示:是从当前的py文件实例化

app = Flask(__name__)

3. 创建一个路由和视图对应

@app.route('/')
def index():
    return 'Hello Flask!'

启动 web应用

app.run(debug=True)

完整代码

from flask import Flask

app = Flask(__name__)

@app.route('/')
def index():
    return 'Hello Flask!'

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

Flask 添加配置信息

开启 Debug

在这里插入图片描述
从上面我们可以看出 Debug 是没有开启的

为什么开启 Debug
  • 什么是 Debug?

  • Debug 有什么作用?

  • 什么是Debug?
    Debug是调试模式,在Flask中,开启Debug模式意味着应用运行在调试模式下,这允许应用在出错时提供更详细的错误信息,并且在代码修改后自动重载。

  • Debug有什么作用?
    开启Debug模式后,每次代码修改并保存后,服务器会自动重新加载应用,无需手动重启。这在开发过程中可以节省大量时间,特别是在频繁修改代码和测试时。

开启 Debug的四种方式
  • 字典键值对添加(一次只能更改一个配置项)
app.config['Debug'] = True
  • 字典update添加(一次可以添加多个配置项)
config = {
    'Debug': True
}
app.config.update(config)
  • 从py文件导入
# settings.py
DEBUG = True
app.config.from_pyfile('settings.py')
  • 从类里面导入
class Config:
    DEBUG = True

app.config.from_object(Config)

在这里插入图片描述

其它配置信息

我所说的开启 Debug的四种方式不止可以用来开启DEBUG,还可以添加其它配置信息
在 Flask 中,除了开启调试模式(Debug)之外,还可以添加许多其他配置信息来定制应用的行为。
以下是一些常用的配置选项:

  1. SECRET_KEY: 用于保持会话安全的密钥。在生产环境中,这个密钥应该保密。

    app.config['SECRET_KEY'] = 'your_secret_key'
    
  2. SQLALCHEMY_DATABASE_URI: 数据库连接字符串,用于 SQLAlchemy 等 ORM 工具。

    app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///your_database.db'
    
  3. SQLALCHEMY_TRACK_MODIFICATIONS: 控制 SQLAlchemy 是否跟踪对象的修改。

    app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
    
  4. SESSION_COOKIE_SECURE: 设置为 True 时,会话 cookie 只通过 HTTPS 发送。

    app.config['SESSION_COOKIE_SECURE'] = True
    
  5. REMEMBER_COOKIE_SECURE: 设置为 True 时,记住我 cookie 只通过 HTTPS 发送。

    app.config['REMEMBER_COOKIE_SECURE'] = True
    
  6. SESSION_COOKIE_HTTPONLY: 设置为 True 时,会话 cookie 不能通过客户端脚本访问,增加安全性。

    app.config['SESSION_COOKIE_HTTPONLY'] = True
    
  7. PERMANENT_SESSION_LIFETIME: 设置会话的过期时间。

    app.config['PERMANENT_SESSION_LIFETIME'] = timedelta(days=30)
    
  8. MAIL_SERVER: 邮件服务器地址。

    app.config['MAIL_SERVER'] = 'smtp.example.com'
    
  9. MAIL_PORT: 邮件服务器端口。

    app.config['MAIL_PORT'] = 587
    
  10. MAIL_USE_TLS: 是否使用 TLS 加密。

    app.config['MAIL_USE_TLS'] = True
    
  11. MAIL_USERNAMEMAIL_PASSWORD: 发送邮件时使用的用户名和密码。

    app.config['MAIL_USERNAME'] = 'your_username'
    app.config['MAIL_PASSWORD'] = 'your_password'
    

这些配置项可以根据你的应用需求进行设置,以确保应用的安全性和功能性。在生产环境中,务必确保敏感信息(如数据库密码、密钥等)不被硬编码在代码中,而是通过环境变量或安全的配置文件来管理。

我们先大概知道这些,后面还会仔细学习

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2119783.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

内网隧道:端口转发

目录 LCX端口转发 场景一 场景二 SSH的端口转发 一、本地转发(正向访问A): 二、远程转发(反向访问A) 三.NETSH端口转发 端口转发和端口映射 端口转发,有时被称为做隧道,是安全壳( SSH)为网络安全通信使用的一种方…

视频监控接入平台web客户端有时无法登录,有时打开实时视频出现黑屏的问题解决

目录 一、背景说明 二、解决过程 1、问题产生 2、命令介绍 ①基本用法 ②常用选项 ③示例 3、问题解决 三、最终结果 一、背景说明 在本地登录视频监控平台的服务器进行测试时,发现客户端登录不上。 检查服务器的服务和数据库,运行状况正常&#xff0c…

45个图源二维码分享及使用方法

我们曾在《40个图源二维码分享及使用方法》一文中,为你分享了40个图源二维码。 现在在此基础之上新增5个图源二维码,共分享45个。 如果你需要这些图源,请在文末查看领取方式。 45个图源 打开下面的网址进入水经微图(简称“微图…

Swift 创建扩展(Extension)

类别(Category) 和 扩展(Extension) 的 用法很多. 常用的 扩展(Extension) 有分离代码和封装模块的功能,例如登陆页面有注册功能,有登陆功能,有找回密码功能,都写在一个页面就太冗余了,可以考虑使用 扩展(Extension) 登陆页面的方法来分离代码 本文介绍Swift 如何创建扩展(Ex…

maven项目下使用Jacoco测试覆盖率

【本文前提是了解maven项目及其Pom.xml机制,不熟悉可以看该博客的0.Pre部分Auto-Unit-Test-Case-Generator -- java项目自动测试生成-CSDN博客】 JaCoCo(Java Code Coverage)是一个开源的代码覆盖率工具,专门用于测量 Java 应用程…

Web测试中如何简单定位Bug

定位bug之前要确定自己对用例的理解是否有问题。(在工作中,很多测试结果错误都是因为自己对用例的理解没有到位,以致于操作错误导致结果不符合预期) 一般来说bug分为前端bug和后端bug,前端bug为请求数据错误,后端bug为…

web基础之信息泄露

1、目录遍历漏洞 (1)原理:本质是没有过滤用户输入的 ../ 相关的目录跳转符,使得攻击者通过目录跳转符来遍历服务器中的任意文件。 (2)题解: eg:根据提示遍历网页目录信息,会在某一个…

vscode---snippets配置全局代码片段,快捷开发!

代码片段的作用:在开发一个项目时,经常会遇到好多同一个代码逻辑,可配置固顶逻辑的代码块,避免重复敲同一代码; 举例:比如跳转登录,需要调用app的客户端方法,api调用跳转&#xff1…

Web 原生组件化方案:Web Components

你好,我是沐爸,欢迎点赞、收藏、评论和关注。 Web 组件化是一种将Web应用的UI部分拆分成可复用的独立组件的架构方法。这种方法有助于提高代码的可维护性、可重用性和可测试性。 而Web Components 标准则提供了一套原生的API,允许开发者创建…

TestCraft - GPT支持的测试想法生成器和自动化测试生成器

在当今快速变化的软件开发世界中,自动化测试已成为确保软件质量的关键环节。而随着AI技术的进步,越来越多的工具开始引入人工智能,来辅助生成测试用例和自动化测试脚本。其中,TestCraft,作为一款GPT支持的测试想法生成…

天命所归,SyntaxFlow助大圣取得真经

之前预告许久的SyntaxFlow功能已经登陆Yakit! SyntaxFlow代码查询需要先进行项目编译。 手动编译 在前端的YakRunner界面,主界面或选项栏可以直接点击“编译项目”功能。 可见图中红色方框圈起的选项 编译项目的选项如下:必选项为项目名、…

工控机防病毒/防勒索病毒如何一步搞定?

随着勒索病毒的肆虐和内部运营泄密事件的频发,企业数据安全正面临着前所未有的挑战。苏州深信达网络科技有限公司,作为数据安全解决方案的先驱,推出了MCK主机加固解决方案,为企业数据安全提供了一道坚不可摧的防线。 MCK主机加固…

Linux:多路转接 select、poll、epoll

目录 1:select 1. 参数解释 2. 函数返回值 3. fd_set 4. fd_set 相关接口 5. timeval 5. 常见使用 6. 理解 select 执行过程 7. select 的特点 8. select 缺点 9. select 应用 2:socket 就绪条件 1. 读事件就绪(Readable&#x…

智能优化算法-海马优化算法(SHO)(附源码)

目录 1.内容介绍 2.部分代码 3.实验结果 4.内容获取 1.内容介绍 海马优化算法 (Seahorse Optimization Algorithm, SHO) 是一种基于群体智能的元启发式优化算法,它模拟了海马的觅食行为、繁殖行为以及社会互动,用于解决复杂的优化问题。 SHO的工作机制…

精选干货!分享5款ai智能写论文软件

在当今信息爆炸的时代,AI智能写作工具已经成为我们写作过程中的得力助手。特别是对于学术论文的撰写,这些工具不仅能够提高写作效率,还能帮助用户生成高质量的文稿。以下是五款值得推荐的AI智能写论文软件,其中特别推荐千笔-AIPas…

Path系统环境变量和CLASSPATH环境变量

Path系统环境变量 概述:Path环境变量不是java的,它隶属于windows操作系统 作用: PATH环境变量实际上就是给windows操作系统指路的。 在Path环境变量中有很多路径,路径和路径之间采用 分号(;) 隔开在DOS命令窗口中输入一条DOS命…

Vscode中搭建ABAP开发环境

文章目录 前提(在SAP系统中测试)1.1 登录sap 系统1.2激活测服务测试1.3 添加服务 下载Vscode2.1 安装ABAP Remote filesystem 打开ABAP System3.1 按照CtrlshiftP 找到AbapFs Connect to an ABAP system 前提(在SAP系统中测试) 1…

2-89 基于matlab的图像去噪方法

基于matlab的图像去噪方法,对比了常见的几种去噪方法,含中值滤波,均值滤波,维纳滤波,高斯滤波,以及三种形态学滤波(一般的,改进的,多结构元素形态学滤波)&…

HarmonyOS开发之Tab样式(背景高亮样式)

一:开发环境 二:效果图 三:实现步骤 Entry Component struct TabsPage {State tabArray:string[] ["首页","分类","应用","热点","我的"]State focusIndex: number 0;State index: num…

嵌入式学习(哈希表)

哈希表中元素是由哈希函数确定的,将数据元素的关键字key作为自变量,通过一定的函数关系(称为哈希函数),计算出的值,即为该元素的存储地址。 哈希函数:指将哈希表中元素的关键键值映射为元素存储…