当前位置: 首页 > news >正文

Flask 第三课 -- 第一个应用

上一章节我们已经成功安装了 Flask,接下来我们可以创建一个简单的 Flask 应用。

首先,创建一个名为 app.py 的文件,并添加以下内容:

from flask import Flaskapp = Flask(__name__)@app.route('/')
def hello_world():return 'Hello, World!'if __name__ == '__main__':app.run(debug=True)

在命令行中运行 Flask 应用:

python app.py

你会看到 Flask 开发服务器启动,并显示类似于以下内容:

...* Running on http://127.0.0.1:5000
Press CTRL+C to quit* Restarting with stat* Debugger is active!* Debugger PIN: 977-918-914
...

打开浏览器,访问 http://127.0.0.1:5000/,应该会看到 "Hello, World!" 的消息,表示 Flask 已成功安装并运行。

代码解析:

  • from flask import Flask: 这行代码从 flask 模块中导入了 Flask 类。Flask 类是 Flask 框架的核心,用于创建 Flask 应用程序实例。

  • app = Flask(__name__): 这行代码创建了一个 Flask 应用实例。__name__ 是一个特殊的 Python 变量,它在模块被直接运行时是 '__main__',在被其他模块导入时是模块的名字。传递 __name__ 给 Flask 构造函数允许 Flask 应用找到和加载配置文件。

  • @app.route('/'): 这是一个装饰器,用于告诉 Flask 哪个 URL 应该触发下面的函数。在这个例子中,它指定了根 URL(即网站的主页)。

  • def hello_world():: 这是定义了一个名为 hello_world 的函数,它将被调用当用户访问根URL时。

  • return 'Hello, World!': 这行代码是 hello_world 函数的返回值。当用户访问根 URL 时,这个字符串将被发送回用户的浏览器。

  • if __name__ == '__main__'::这行代码是一个条件判断,用于检查这个模块是否被直接运行,而不是被其他模块导入。如果是直接运行,下面的代码块将被执行。

  • app.run(debug=True):这行代码调用 Flask 应用实例的 run 方法,启动 Flask 内置的开发服务器。debug=True 参数会启动调试模式,这意味着应用会在代码改变时自动重新加载,并且在发生错误时提供一个调试器。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • C++设计模式——Memento备忘录模式
  • 谷粒商城-P125【gulimall-search】:更改 elasticsearch 版本不生效
  • 【电子通识】半导体工艺——刻蚀工艺
  • C语言指针详解与应用
  • HTML/CSS/JS学习笔记 Day4(HTML--C3 表格)
  • AI预测地球未来,温室效应失控?地球变金星?
  • Dubbo 与 Zookeeper 在项目中的应用:原理与实现详解
  • unocss 一直热更新打印[vite] hot updated: /__uno.css
  • C语言 ——— 学习并使用 #if defined #ifdef #ifndef 条件编译指令
  • C++第五节 - this指针、构造函数、析构函数
  • 讯方·智汇云校北京校区
  • Result 和 自定义异常 在前后端交互中的作用
  • 数据结构之算法的分析和应用
  • 多速率信号处理
  • langgraph tool如何获取上下文和RunableConfig
  • -------------------- 第二讲-------- 第一节------在此给出链表的基本操作
  • ES学习笔记(10)--ES6中的函数和数组补漏
  • exports和module.exports
  • JSDuck 与 AngularJS 融合技巧
  • node 版本过低
  • open-falcon 开发笔记(一):从零开始搭建虚拟服务器和监测环境
  • SQLServer之创建显式事务
  • V4L2视频输入框架概述
  • Wamp集成环境 添加PHP的新版本
  • webpack项目中使用grunt监听文件变动自动打包编译
  • yii2权限控制rbac之rule详细讲解
  • 从零到一:用Phaser.js写意地开发小游戏(Chapter 3 - 加载游戏资源)
  • 个人博客开发系列:评论功能之GitHub账号OAuth授权
  • 基于游标的分页接口实现
  • 聊聊flink的TableFactory
  • 使用putty远程连接linux
  • 职业生涯 一个六年开发经验的女程序员的心声。
  • linux 淘宝开源监控工具tsar
  • 哈罗单车融资几十亿元,蚂蚁金服与春华资本加持 ...
  • ​​​​​​​ubuntu16.04 fastreid训练过程
  • ​LeetCode解法汇总2583. 二叉树中的第 K 大层和
  • ​软考-高级-信息系统项目管理师教程 第四版【第23章-组织通用管理-思维导图】​
  • $LayoutParams cannot be cast to android.widget.RelativeLayout$LayoutParams
  • (09)Hive——CTE 公共表达式
  • (k8s)Kubernetes本地存储接入
  • (保姆级教程)Mysql中索引、触发器、存储过程、存储函数的概念、作用,以及如何使用索引、存储过程,代码操作演示
  • (超简单)使用vuepress搭建自己的博客并部署到github pages上
  • (二)Pytorch快速搭建神经网络模型实现气温预测回归(代码+详细注解)
  • (二)WCF的Binding模型
  • (附源码)c#+winform实现远程开机(广域网可用)
  • (附源码)python旅游推荐系统 毕业设计 250623
  • (亲测)设​置​m​y​e​c​l​i​p​s​e​打​开​默​认​工​作​空​间...
  • (已解决)什么是vue导航守卫
  • (轉貼) 資訊相關科系畢業的學生,未來會是什麼樣子?(Misc)
  • .Net 6.0--通用帮助类--FileHelper
  • .net core使用ef 6
  • .net framwork4.6操作MySQL报错Character set ‘utf8mb3‘ is not supported 解决方法
  • .NET WebClient 类下载部分文件会错误?可能是解压缩的锅
  • .NET 中使用 TaskCompletionSource 作为线程同步互斥或异步操作的事件
  • .NET设计模式(7):创建型模式专题总结(Creational Pattern)