第一个 Flask 项目

news2024/9/23 19:28:16

第一个 Flask 项目

  • 安装环境
  • 创建项目
  • 启动程序
  • 访问项目
  • 参数说明
    • Flask对象的初始化参数
    • app.run()参数
  • 应用程序配置参数

安装环境

mkvirtualenv flask_env

pip install flask

创建项目

在这里插入图片描述

启动程序

在这里插入图片描述

访问项目

在这里插入图片描述

http://127.0.0.1:5000/
在这里插入图片描述

参数说明

Flask是一个用Python编写的轻量级Web应用框架,它提供了构建Web应用所需的基本工具和功能。以下是Flask的一些主要参数说明:

Flask对象的初始化参数

在创建Flask应用时,可以通过Flask类的构造函数传递一些参数来定制应用的行为。

  • import_name

    • 类型:字符串(通常使用__name__
    • 描述:Flask程序所在的包(模块)名。这个参数用于决定Flask在访问静态文件时查找的路径,以及用于Flask扩展的注册。对于大多数应用,使用__name__作为这个参数的值即可。
  • static_url_path

    • 类型:字符串
    • 描述:静态文件访问路径的前缀。默认为'/static'。这个参数允许你为静态文件指定一个URL前缀,比如设置为'/assets',则静态文件将通过'/assets/...'的路径访问。
  • static_folder

    • 类型:字符串
    • 描述:静态文件存储的文件夹名。默认为'static'。这个参数用于指定存放静态文件的文件夹名,Flask将从这个文件夹中提供静态文件。
  • template_folder

    • 类型:字符串
    • 描述:模板文件存储的文件夹名。默认为'templates'。这个参数用于指定存放模板文件的文件夹名,Flask将从这个文件夹中加载模板文件。

app.run()参数

在Flask应用中,通常使用app.run()方法来启动开发服务器。这个方法接受一些参数来配置服务器的行为。

  • host

    • 类型:字符串
    • 描述:指定服务器运行的主机名。默认为'127.0.0.1',表示仅本机可以访问。如果设置为'0.0.0.0',则表示服务器将监听所有可用的网络接口,允许外部访问。
  • port

    • 类型:整数
    • 描述:指定服务器监听的端口号。默认为5000
  • debug

    • 类型:布尔值
    • 描述:指定是否启用调试模式。默认为False。在调试模式下,Flask会提供详细的错误跟踪和调试信息,并允许热重载(即在修改代码后自动重启服务器)。然而,在生产环境中应该禁用调试模式,以避免泄露敏感信息。

应用程序配置参数

Flask将配置信息保存在app.config属性中,这个属性是一个字典对象,可以存储各种配置信息,如数据库连接信息、日志配置等。

  • 配置加载方式

    • 可以通过几种方式加载配置参数:
      1. 从配置对象中加载:定义一个配置类,并通过app.config.from_object(config_object)加载配置。
      2. 从配置文件中加载:创建一个配置文件(如config.py),并通过app.config.from_pyfile('config.py')加载配置。
      3. 从环境变量中加载:通过app.config.from_envvar('FLASK_CONFIG_FILE')根据环境变量指定的路径加载配置文件。
      4. 直接在代码中设置:通过app.config['DEBUG'] = True等方式直接在代码中设置配置参数。
  • 常用配置参数

    • DEBUG:是否启用调试模式。
    • SECRET_KEY:用于保持客户端会话安全的一个密钥。
    • SQLALCHEMY_DATABASE_URI(如果使用Flask-SQLAlchemy扩展):数据库连接URI。
    • 其他与特定扩展或应用需求相关的配置参数。

以上是Flask框架中一些主要参数的说明。通过合理配置这些参数,可以灵活地定制Flask应用的行为和特性。

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

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

相关文章

程序员学长 | 快速学习一个算法,CLIP

本文来源公众号“程序员学长”,仅用于学术分享,侵权删,干货满满。 原文链接:快速学习一个算法,CLIP 今天给大家介绍一个强大的算法模型,CLIP。 CLIP (Contrastive Language–Image Pre-training) 是一个…

机器学习流程图

第一部分:课程使用的技术栈 (1)Numpy 科学计算基础库,矩阵运算,线性代数 (2)matplotlib 绘图库,数据可视化 (3)Scikit 封装了各种分类,回归…

【课程总结】day19(下):Transformer源码深入理解

前言 在上一章【课程总结】day19(下):Transformer架构及注意力机制了解总结中,我们对Transformer架构以及注意力机制有了初步了解,本章将结合《The Annotated Transformer》中的源码,对Transformer的架构进行深入理解。 背景 《The Annotated Transformer》是由 Harva…

LaneATT推理详解及部署实现(上)

目录 前言1. 概述2. 环境配置3. Demo测试4. ONNX导出初探5. ONNX导出优化6. ONNX导出总结结语下载链接参考 前言 最近想关注下车道线检测任务,在 GitHub 上找了一个模型 LaneATT,想通过调试分析 LaneATT 代码把 LaneATT 模型导出来,并在 tens…

Java游戏源码:象棋网络对战版

学习java朋友们,福利来了,今天小编给大家带来了一款象棋网络对战版源码。 源码搭建和讲解 源码分为客户端和服务器,采用java原生 java.net.Socket 实现,服务器主循环代码: import java.net.ServerSocket; import jav…

二维码生成原理及解码原理

☝☝☝二维码配图 二维码 二维码(Quick Response Code,简称QR码)是一种广泛使用的二维条形码技术,由日本公司Denso Wave在1994年开发。二维码能有效地存储和传递信息,广泛应用于商品追溯、支付、广告等多个领域。二维…

Star-CCM+负体积网格检查与出现原因

要使网格可用于有限体积计算,每个网格单元必须具有正体积,否则初始化过程将失败,且模拟计算无法运行。 负体积网格单元可能会以多种不同的方式出现,但必须修复或从网格中移除,才能继续执行任何后续操作。 要检查体网…

<数据集>人员摔倒识别数据集<目标检测>

数据集格式:VOCYOLO格式 图片数量:8605张 标注数量(xml文件个数):8605 标注数量(txt文件个数):8605 标注类别数:1 标注类别名称:[fall] 序号类别名称图片数框数1fall860512275 使用标注工具&#xf…

当前生物信息学研究面临的四大机遇和挑战(特别是最后一个,一定要足够重视)...

生物信息学是应用计算方法分析生物数据,如 DNA,RNA,蛋白质和代谢物。生物信息学已成为促进我们对生命科学的理解以及开发新的诊断,治疗和生物技术产品的重要工具。本文我们将探讨生物信息学研究的一些当前趋势和发展,以…

如何快速入门 PyTorch ?

PyTorch是一个机器学习框架,主要依靠深度神经网络,目前已迅速成为机器学习领域中最可靠的框架之一。 PyTorch 的大部分基础代码源于 Ronan Collobert 等人 在 2007 年发起的 Torch7 项目,该项目源于 Yann LeCun 和 Leon Bottou 首创的编程语…

【C++题解】1249. 搬砖问题

欢迎关注本专栏《C从零基础到信奥赛入门级(CSP-J)》 问题:1249. 搬砖问题 类型:嵌套穷举 题目描述: 36 块砖, 36 人搬。男搬 4 ,女搬 3 ,两个小儿抬一砖。 要求一次全搬完。问需…

GitHub最全中文排行榜开源项目,助你轻松发现优质资源!

文章目录 GitHub-Chinese-Top-Charts:中文开发者的开源项目精选项目介绍项目特点核心功能1. 热门项目榜单2. 详细项目信息 如何使用覆盖范围软件类资料类 GitHub-Chinese-Top-Charts:中文开发者的开源项目精选 在全球范围内,GitHub已经成为了…

谷歌外链:提升网站权重的秘密武器!

谷歌外链之被称为提升网站权重的秘密武器,主要是因为它们对网站的搜索引擎排名有着直接且显著的影响 谷歌和其他搜索引擎使用外链作为衡量网站信任度和权威性的重要指标。当一个网站获得来自其他信誉良好的源的链接时,这被视为信任的投票。多个高质量链…

opencv-图像仿射变换

仿射变换就是将矩形变为平行四边形,而透视变换可以变成任意不规则四边形。实际上,仿射变换是透视变换的子集,仿射变换是线性变换,而透视变换不仅仅是线性变换。 仿射变换设计图像位置角度的变化,是深度学习预处理中常…

力扣SQL50 患某种疾病的患者 正则表达式

Problem: 1527. 患某种疾病的患者 在SQL查询中,REGEXP 是用于执行正则表达式匹配的操作符。正则表达式允许使用特殊字符和模式来匹配字符串中的特定文本。具体到你的查询,^DIAB1|\\sDIAB1 是一个正则表达式,它使用了一些特殊的通配符和符号。…

Vue:vue-router使用指南

一、简介 点击查看vue-router官网 Vue Router 是 Vue.js 的官方路由。它与 Vue.js 核心深度集成,让用 Vue.js 构建单页应用变得轻而易举。功能包括: 嵌套路由映射动态路由选择模块化、基于组件的路由配置-路由参数、查询、通配符-展示由 Vue.js 的过渡系…

DNS常见面试题

DNS是什么? 域名使用字符串来代替 IP 地址,方便用户记忆,本质上一个名字空间系统;DNS 是一个树状的分布式查询系统,但为了提高查询效率,外围有多级的缓存;DNS 就像是我们现实世界里的电话本、查…

电路板热仿真覆铜率,功率,结温,热阻率信息计算获取方法总结

🏡《电子元器件学习目录》 目录 1,概述2,覆铜率3,功率4,器件尺寸5,结温6,热阻1,概述 电路板热仿真操作是一个复杂且细致的过程,旨在评估和优化电路板内部的热分布及温度变化,以确保电子元件的可靠性和性能。本文简述在进行电路板的热仿真时,元器件热信息的计算方法…

59.DevecoStudio项目引入不同目录的文件进行函数调用

59.DevecoStudio ArkUI项目引入不同目录的文件进行函数调用 arkUi,ets,cj文件,ts文件的引用 import common from ohos.app.ability.common; import stringutils from ./uint8array2string; //index.ts的当前目录 import StringUtils2 from ../http2/uint8array2st…

python全栈开发《23.字符串的find与index函数》

1.补充说明上文 python全栈开发《22.字符串的startswith和endswith函数》 endswith和startswith也可以对完整(整体)的字符串进行判断。 info.endswith(this is a string example!!)或info.startswith(this is a string example!!)相当于bool(info this …