02 Flask-快速上手

news2024/11/15 7:03:08

创建项目文件

从电脑选择一个盘符(来存放之后学习的项目文件)

这里选择以电脑C盘的桌面来做演示

在选择的盘符里面创建一个文件夹(来保存之后的学习文件)

在这里插入图片描述

使用 poetry 创建一个初始配置项(pyproject.toml)

详情参考

poetry init

在这里插入图片描述

创建虚拟环境

 poetry env use python

在这里插入图片描述

激活虚拟环境

poetry shell

在这里插入图片描述

安装 flask

poetry add flask

在这里插入图片描述

第一个flask程序

在这里插入图片描述

from flask import Flask   # 从 flask 模块导入 Flask 类。Flask 是一个轻量级的 Web 应用框架,用于创建 Web 应用。

app = Flask(__name__)   # 创建一个 Flask 应用实例。__name__ 是当前模块的名字,当这个脚本作为主程序运行时,它的值是 '__main__'。这个实例是整个 Flask 应用的核心,用于配置和运行应用。

@app.route('/')   # 使用 Flask 的路由装饰器@app.route()来定义一个路由。这个装饰器告诉 Flask,当用户访问根 URL(即网站的主页)时,应该调用哪个函数。在这个例子中,根 URL 就是网站的域名后面不跟任何路径。

def index():   # 定义一个视图函数,这个函数与上面定义的路由关联。当用户访问与该路由匹配的 URL 时,这个函数将被调用。

    return 'Hello Flask'   # 这个函数返回一个字符串,这个字符串将作为 HTTP 响应发送给客户端。在这个例子中,当用户访问根 URL 时,他们将看到页面上显示 "Hello Flask"。

if __name__ == '__main__':   # 这是一个条件语句,用于检查当前脚本是否是作为主程序运行。如果是,那么下面的代码将被执行。如果这个脚本被其他模块导入,__name__ 的值将是模块的名字,而不是 '__main__',因此下面的代码不会执行。

    app.run()   # 这行代码启动 Flask 内置的开发服务器。当这个脚本作为主程序运行时,它会启动一个本地服务器,通常在 http://127.0.0.1:5000/ 上运行。这个服务器是用于开发和测试的,不应该在生产环境中使用。

在这里插入图片描述

讲解

关键组件

导入 Flask
from flask import Flask
  • 从 flask 模块导入 Flask 类。
创建 Flask 应用实例
app = Flask(__name__)
  • 创建一个 Flask 应用实例,__name__ 表示当前模块。
定义路由和视图函数
@app.route('/')
def index():
    return 'Hello Flask'
  • 使用 @app.route() 装饰器定义路由。
  • 当访问对应的 URL 时,会调用关联的视图函数。
  • 在这个例子中,访问根 URL ('/') 时,返回字符串 'Hello Flask'
运行 Flask 应用
if __name__ == '__main__':
    app.run()
  • 检查当前脚本是否作为主程序运行。
  • 如果是,使用 app.run() 启动 Flask 内置的开发服务器。

注意事项

  • 确保使用 __name__ 而不是 'name' 来检查是否作为主程序运行。
  • Flask 的开发服务器不应用于生产环境。

路由的理解

在 Flask 中,路由确实可以类比于电脑上的文件夹路径。下面我将详细解释这个比喻:

文件系统中的路径(电脑文件夹)

在电脑文件系统中,路径是用来定位文件或文件夹的一种方式。例如,如果你有一个文件夹位于你的电脑的 C 盘,路径可能是这样的:

C:\Users\YourName\Documents\ProjectFolder

这个路径告诉我们如何从电脑的根目录(在这个例子中是 C 盘)找到特定的文件夹(ProjectFolder)。路径中的每个部分(如 Users、YourName、Documents)都是路径的一部分,它们共同定义了到达目标文件夹的完整路径。

Flask 中的路由

在 Flask Web 应用中,路由的作用非常相似。路由定义了客户端(如浏览器)如何通过 URL 访问服务器上的特定资源或执行特定的操作。例如:

@app.route('/about')
def about():
    return 'About Page'

在这个例子中,@app.route('/about') 定义了一个路由,它告诉 Flask,当用户访问 http://yourdomain.com/about 这个 URL 时,应该调用 about() 函数。这里的 /about 就像是文件系统中的路径,它指向了服务器上的一个特定“位置”。

路由和视图函数

在 Flask 中,每个路由都关联一个视图函数。当用户访问该路由对应的 URL 时,关联的视图函数会被执行,并返回相应的响应给客户端。这类似于在文件系统中,当你访问一个文件夹时,你可能会看到里面的内容或执行某个操作。

总结

  • 文件系统路径:定义了如何在电脑文件系统中找到一个文件夹或文件。
  • Flask 路由:定义了如何通过 URL 访问 Web 应用中的一个特定视图函数。

通过这个比喻,你可以更容易地理解 Flask 路由的概念,以及它们如何帮助组织和访问 Web 应用的不同部分。

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

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

相关文章

面向可信和节能的雾计算医疗决策支持系统的优化微型机器学习与可解释人工智能

这篇论文的标题为《Optimized Tiny Machine Learning and Explainable AI for Trustable and Energy-Efficient Fog-Enabled Healthcare Decision Support System》,发表在《International Journal of Computational Intelligence Systems》2024年第17卷&#xff0c…

Gemini的AI生图消失数月终重返!Imagen 3或成谷歌“大招”,为避免Deepfake绞尽脑汁,网友:最逼真的AI人像!

谷歌Gemini的AI生图功能在漫长的沉寂后官宣重返!并推出了重大升级后的模型Imagen 3! 此前,Gemini的这项功能因为过分注重“政治正确”而被群嘲。例如生成了黑人形象的华盛顿等等,在引起广泛争议之后,这项功能随之被禁用。 现在,谷歌对其进行了升级,并准备在“未来几天…

[数据集][目标检测]电动车头盔佩戴检测数据集VOC+YOLO格式4235张5类别

数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):4235 标注数量(xml文件个数):4235 标注数量(txt文件个数):4235 标注…

Github 2024-09-02 开源项目周报 Top13

根据Github Trendings的统计,本周(2024-09-02统计)共有13个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量Python项目3TypeScript项目3Vue项目2Rust项目2Go项目2Dart项目1Jupyter Notebook项目1Shell项目1Dockerfile项目1PHP项目1Blade项目1AI.AppFlow…

聚铭网络受邀成为ISC终端安全生态联盟首批成员单位

近日,在2024数博会这一行业盛会上,全国首个专注于终端能力的联盟——ISC终端安全生态联盟正式成立,聚铭网络受邀成为该联盟的首批成员单位之一。 ISC终端安全生态联盟由360集团发起,并联合20余家业内领先企业共同创立。联盟旨在通…

fortran安装

编写时间: 2024年9月5日10:36:40 Fortran环境配置: Visual Studio 2022 Intel oneAPI Base Toolkit Intel HPC Toolkit 演示环境: Windows 10 x64 VMware虚拟机 准备工作 下载Visual Studio 2022 下载链接: https://visual…

JAVA—单元测试

单元测试:就是针对最小的功能单元(方法),编写测试代码对其进行正确性测试 之前是使用main函数调用来进行检测,无法实现自动化测试 也会影响其他方法的测试 目录 1.junit框架概述 2.junit框架的常见注解 1.junit框架…

【软件测试专栏】自动化测试函数篇

博客主页:Duck Bro 博客主页系列专栏:软件测试专栏关注博主,后期持续更新系列文章如果有错误感谢请大家批评指出,及时修改感谢大家点赞👍收藏⭐评论✍ 自动化测试函数篇 关键词:函数、浏览器参数、常用函数…

JVM系列(十) -垃圾收集器介绍

一、摘要 在之前的几篇文章中,我们介绍了 JVM 内部布局、对象的创建过程、运行期的相关优化手段以及垃圾对象的回收算法等相关知识。 今天通过这篇文章,结合之前的知识,我们一起来了解一下 JVM 中的垃圾收集器。 二、垃圾收集器 如果说收集算法是内存回收的方法论,那么…

前端面试题——栈与队列、动态路由、链表

栈、队列与链表 Java数据结构栏目总结-CSDN博客 栈(Stack) 栈是一种后进先出(LIFO, Last In First Out)的数据结构。它只允许在栈顶进行添加(push)或删除(pop)元素的操作。 基本操…

学习笔记八:基于Jenkins+k8s+Git+DockerHub等技术链构建企业级DevOps容器云平台

基于Jenkinsk8sGitDockerHub等技术链构建企业级DevOps容器云平台 测试jenkins的CI/CD在Jenkins中安装kubernetes插件安装blueocean插件配置jenkins连接到我们存在的k8s集群配置pod-template添加自己的dockerhub凭据测试通过Jenkins部署应用发布到k8s开发环境、测试环境、生产环…

连锁美业门店如何寻找精准客户?美业SaaS拓客系统管理系统源码

连锁美业门店要寻找精准客户,可以采取多种方法结合现实因素进行推广和营销。以下是博弈美业系统给出的一些建议: 1.定位目标客户群体: 首先,门店需要确定目标客户是谁。这可能包括年龄、性别、收入水平、生活方式以及消费习惯等…

AI+RuoYi

1.RuoYi-Vue入门 采用了前后端分离的单体架构设计 1.1运行后端项目 1.Git下载 打开gitee - 点击克隆 -复制https - 打开IDEA关闭project - get vcs - 粘贴 通过idea克隆若依源码,仓库地址:RuoYi-Vue: 🎉 基于SpringBoot,Sprin…

屎记·大夏王本纪

大夏王,古遂州人氏。公元 2023 年冬,君临绵州,是为称王,国号 CW,建元 BK,意为可递万世而为君。以颈上常年绿光,自以为祥瑞,故又自号“森林”。其人方头大耳,幼时则谓富贵…

【学术会议征稿】第二届人工智能、系统与网络安全国际学术会议 (AISNS 2024)

第二届人工智能、系统与网络安全国际学术会议 (AISNS 2024) 2024 2nd International Conference on Artificial Intelligence, Systems and Network Security 由湖南工程学院主办的第二届人工智能、系统与网络安全国际学术会议 (AISNS 2024)将于2024年…

docker部署nginx、docker常用命令

1、安装nginx 未加版本号,默认最新版 docker pull nginxdocker pull nginx:版本号2、查看是否拉取成功 2-1、查看镜像 docker images2-2、镜像打包->可给他人使用 docker save -o nginx.tar nginx:latest2-3、读取打包的镜像 记得先走第三步删除镜像&#x…

Redis安装步骤——离线安装与在线安装详解

Linux环境下Redis的离线安装与在线安装详细步骤 环境信息一、离线安装1、安装环境2、下载redis安装包3、上传到服务器并解压4、编译redis5、安装redis6、配置redis(基础配置)7、启动redis8、本机访问redis9、远程访问redis 二、在线安装1、更新yum源2、安…

【全网最全】《2024高教社杯/国赛》 B题 思路+代码+文献 优化算法+决策树 第一问 生产过程中的决策问题

领取压缩包 问题 1 建模思路 问题描述 企业需要购买零配件1和零配件2,供应商声称一批零配件(零配件1或零配件2)的次品率不超过某个标称值(例如10%)。企业希望通过抽样检测来决定是否接收这批零配件,同时希…

跨域问题(CORS)

介绍 跨域资源共享(CORS, Cross-Origin Resource Sharing)是浏览器的一个安全机制,用来防止来自一个域的网页对另一个域下的资源进行请求。仅允许向 同域名、同端口 的服务器发送请求。 对于前后端分离的项目,往往会有跨域问题。…

SQL必知必会51题

※食用指南:文章内容为牛客网《SQL必知必会》51道题重点笔记,用于重复思考错题,加深印象。 本文章涉及题目也是《SQL必知必会》书中“挑战题”,题目及答案:《SQL必知必会》随书习题答案 练习传送门:SQL必…