Python武器库开发-flask篇之路由和视图函数(二十二)

flask篇之路由和视图函数(二十二)

通过创建路由并关联函数,实现一个基本的网页:

#!/usr/bin/env python3
from flask import Flask# 用当前脚本名称实例化Flask对象,方便flask从该脚本文件中获取需要的内容
app = Flask(__name__)#程序实例需要知道每个url请求所对应的运行代码是谁。
#所以程序中必须要创建一个url请求地址到python运行函数的一个映射。
#处理url和视图函数之间的关系的程序就是"路由",在Flask中,路由是通过@app.route装饰器(以@开头)来表示的
@app.route("/")
#url映射的函数,要传参则在上述route(路由)中添加参数申明
def index():return "Hello World!"# 启动一个本地开发服务器,激活该网页
if __name__ == '__main__':app.run()

现在我们保存这个脚本然后去运行它

python3 app.py

在这里插入图片描述

然后使用任意浏览器输入地址 http://127.0.0.1:5000,即可访问该界面

在这里插入图片描述

通过绑定路由实现多个视图函数:

#!/usr/bin/env python3
from flask import Flask# 用当前脚本名称实例化Flask对象,方便flask从该脚本文件中获取需要的内容
app = Flask(__name__)#程序实例需要知道每个url请求所对应的运行代码是谁。
#所以程序中必须要创建一个url请求地址到python运行函数的一个映射。
#处理url和视图函数之间的关系的程序就是"路由",在Flask中,路由是通过@app.route装饰器(以@开头)来表示的
@app.route("/")
#url映射的函数,要传参则在上述route(路由)中添加参数申明
def index():return "Hello World!"
#处理url和视图函数之间的关系的程序就是"路由",在Flask中,路由是通过@app.route装饰器(以@开头)来表示的,通过在浏览器中使用/a便可以访问该视图函数
@app.route("/a")
def add():return "1+1=2"# 启动一个本地开发服务器,激活该网页
if __name__ == '__main__':app.run()

现在我们保存这个脚本然后去运行它

在这里插入图片描述

然后使用任意浏览器输入地址 http://127.0.0.1:5000/a,便可以访问第二个视图函数的页面

在这里插入图片描述

动态路由传入变量实现视图函数:

#!/usr/bin/env python3
from flask import Flask# 用当前脚本名称实例化Flask对象,方便flask从该脚本文件中获取需要的内容
app = Flask(__name__)#通过格式<>,来实现动态路由
@app.route("/usr/<username>"):
def user_index(username):#在函数中指明变量名称username,就能够获取通过路由传入的变量usernamereturn "Hello{}".format(username)# 启动一个本地开发服务器,激活该网页
if __name__ == '__main__':app.run()

现在我们保存这个脚本然后去运行它

在这里插入图片描述

然后使用任意浏览器输入地址 http://127.0.0.1:5000/user/动态变量,便可以访问该视图函数

在这里插入图片描述在这里插入图片描述

通过格式<int:变量>,来实现动态路由传入指定的参数:

#!/usr/bin/env python3
from flask import Flask# 用当前脚本名称实例化Flask对象,方便flask从该脚本文件中获取需要的内容
app = Flask(__name__)#通过格式<int:变量>,来实现动态路由传入指定的参数
@app.route("/post/<int:post_id>"):
def show_post(post_id):#在函数中指明变量名称post_id,就能够获取通过路由传入的变量post_idreturn "Post {}".format(post_id)# 启动一个本地开发服务器,激活该网页
if __name__ == '__main__':app.run()

现在我们保存这个脚本然后去运行它

在这里插入图片描述

然后使用任意浏览器输入地址 http://127.0.0.1:5000/post/1,传入指定的 int 型传参,便可以访问该视图函数

在这里插入图片描述

在这里插入图片描述

但如果此时我们传入的参数不是一个数字型的参数,而是一个字符型的参数,则界面会显示报错

在这里插入图片描述

通过debug模式,来实现时实修改代码:

之前的案列中我们都是通过修改代码之后在运行代码来实现某个功能的运行的,这样很麻烦,现在来教大家一个时实修改代码,而不用重启运行代码的方式,现在我们向app.run()函数中添加debug=True来启动debug模式

#!/usr/bin/env python3
from flask import Flask# 用当前脚本名称实例化Flask对象,方便flask从该脚本文件中获取需要的内容
app = Flask(__name__)#程序实例需要知道每个url请求所对应的运行代码是谁。
#所以程序中必须要创建一个url请求地址到python运行函数的一个映射。
#处理url和视图函数之间的关系的程序就是"路由",在Flask中,路由是通过@app.route装饰器(以@开头)来表示的
@app.route("/")
#url映射的函数,要传参则在上述route(路由)中添加参数申明
def index():return "Hello World!"
#处理url和视图函数之间的关系的程序就是"路由",在Flask中,路由是通过@app.route装饰器(以@开头)来表示的,通过在浏览器中使用/a便可以访问该视图函数
@app.route("/a")
def add():return "1+1=2"# 启动一个本地开发服务器,激活该网页
if __name__ == '__main__':#通过debug=True启动debug模式app.run(debug=True)

现在我们保存这个脚本以debug的模式去运行它

在这里插入图片描述

然后使用任意浏览器输入地址 http://127.0.0.1:5000/a,便可以访问第二个视图函数的页面

在这里插入图片描述

现在如果我们想要动态调试代码,那就再打开一个终端界面

vim app.py

在这里插入图片描述

然后将代码修改为以下的代码,保存退出即可

#!/usr/bin/env python3
from flask import Flask# 用当前脚本名称实例化Flask对象,方便flask从该脚本文件中获取需要的内容
app = Flask(__name__)#程序实例需要知道每个url请求所对应的运行代码是谁。
#所以程序中必须要创建一个url请求地址到python运行函数的一个映射。
#处理url和视图函数之间的关系的程序就是"路由",在Flask中,路由是通过@app.route装饰器(以@开头)来表示的
@app.route("/")
#url映射的函数,要传参则在上述route(路由)中添加参数申明
def index():return "Hello World!"
#处理url和视图函数之间的关系的程序就是"路由",在Flask中,路由是通过@app.route装饰器(以@开头)来表示的,通过在浏览器中使用/b便可以访问该视图函数
@app.route("/b")
def add():return "1+1=2"# 启动一个本地开发服务器,激活该网页
if __name__ == '__main__':#通过debug=True启动debug模式app.run(debug=True)

这一步我们不需要再去重新启动脚本了,因为该脚本一直再以debug的模式运行,然后使用任意浏览器输入地址 http://127.0.0.1:5000/b,便可以访问我们刚刚修改过的视图函数的页面

在这里插入图片描述

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

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

相关文章

ubuntu访问github慢

https://juejin.cn/s/github%E6%89%93%E5%BC%80%E6%85%A2%E6%80%8E%E4%B9%88%E5%8A%9Eubuntu https://cloud.tencent.com/developer/article/2055030 亲测可用

【c++STL算数仿函数,关系仿函数,逻辑仿函数】

文章目录 C STL中的算数、关系和逻辑仿函数1. 算数仿函数2. 关系仿函数3. 逻辑仿函数 C STL中的算数、关系和逻辑仿函数 STL&#xff08;Standard Template Library&#xff09;是C标准库的一部分&#xff0c;提供了许多强大的工具和功能&#xff0c;其中包括仿函数&#xff0…

软文推广中媒体矩阵的优势在哪儿

咱们日常生活中是不是经常听到一句俗语&#xff0c;不要把鸡蛋放在同一个篮子里&#xff0c;其实在广告界这句话也同样适用&#xff0c;媒介矩阵是指企业在策划广告活动时&#xff0c;有目的、有计划的利用多种媒体进行广告传播&#xff0c;触达目标用户。今天媒介盒子就来和大…

pipeline jenkins流水线

Pipeline 是 Jenkins 中一种灵活且强大的工作流机制&#xff0c;它允许您以代码的形式来定义和管理持续集成和持续交付的流程。 Pipeline 的作用主要体现在以下几个方面&#xff1a; 可编排的构建流程&#xff1a;使用 Pipeline&#xff0c;您可以将一个或多个阶段&#xff08…

C#设置数据库索引

C#设置数据库索引 C# ASP.NET Core微服务设置数据库索引 C# ASP.NET Core微服务 设置数据库索引 设置数据库索引时&#xff0c;无需将.OnDelete(DeleteBehavior.Cascade)改为 .OnDelete(DeleteBehavior.NoAction)改变删除行为&#xff0c;向数据库添加索引的方法 modelBuild…

微信抽奖活动怎么做

微信抽奖活动&#xff1a;打破传统&#xff0c;创新互动&#xff0c;带给你超乎想象的惊喜体验&#xff01; 随着互联网的飞速发展&#xff0c;人们越来越热衷于参与各种线上活动。而微信&#xff0c;作为中国最大的社交平台之一&#xff0c;自然成为了各种活动的聚集地。今天…

Android设计模式--状态模式

真知即所以为行&#xff0c;不行不足谓之知 一&#xff0c;定义 当一个对象的内在状态改变时&#xff0c;允许改变其行为&#xff0c;这个对象看起来像是改变了其类。 这么说可能很难理解&#xff0c;通俗来讲就是当一个对象它有多种状态的时候&#xff0c;把每一种状态的行为…

集合的removeIf方法

删除单个指定元素 如下&#xff1a;删除list中的字符串 “123” list.removeIf("123"::equals);删除另一个集合内包含的元素 即删除交集元素。 如&#xff1a;listA删除在listB中同样存在的元素&#xff1a; listA.removeIf(listB::contains);

大数据毕业设计选题推荐-机房信息大数据平台-Hadoop-Spark-Hive

✨作者主页&#xff1a;IT研究室✨ 个人简介&#xff1a;曾从事计算机专业培训教学&#xff0c;擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Python…

本地MQTT协议消息服务远程连接教程介绍

Mosquitto是一个开源的消息代理&#xff0c;它实现了MQTT协议版本3.1和3.1.1。它可以在不同的平台上运行&#xff0c;包括Windows、Linux、macOS等。mosquitto可以用于物联网、传感器、移动应用程序等场景&#xff0c;提供了一种轻量级的、可靠的、基于发布/订阅模式的消息传递…

高标准农田数字孪生

高标准农田是指通过土地整治、土壤改良、水利设施、农电配套、机械化作业等措施&#xff0c;提升农田质量和生产能力&#xff0c;达到田块平整、集中连片、设施完善、节水高效、宜机作业、土壤肥沃、生态友好、抗灾能力强、与现代农业生产和经营方式相适应的旱涝保收、稳产高产…

office2010图标显示不正常

问题&#xff1a;安装office2010软件后&#xff0c;.doc文件图标不正常&#xff0c;而.docx文件图标正常 &#xff01; 解决方法&#xff1a;亲测有效 1、使用快捷键WinR&#xff0c;打开“运行”&#xff0c;输入regedit&#xff0c;按回车键。 2、对于 Word 2007/Word 2010…

【docker启动的Jenkins时,遇到时区问题处理】

1、查看容器中的时区 [rootlocalhost jenkins]# docker exec -it jenkins cat /etc/timezone Etc/UTC而本地使用的是Asia/shanghai [rootlocalhost jenkins]# timedatectl | grep Time zoneTime zone: n/a (CST, 0800)###查看 [rootlocalhost jenkins]# cd /usr/share/zoneinf…

【Coppeliasim仿真】 坐标系间平滑插补

在仿真环境中控制两个参考框架&#xff08;ReferenceFrame1和ReferenceFrame2&#xff09;之间进行平滑的插值运动。在两个参考框架之间插值运动的过程中&#xff0c;使用了两种不同的方法&#xff0c;通过设置useMethodNb来选择使用的方法。 方法1使用了旋转轴和角度的计算&a…

Windows 小狼毫 如何在安装后指定用户配置文件文件夹

Windows 小狼毫 如何在安装后指定用户配置文件文件夹 打开小狼毫的安装目录&#xff0c;双击目录中的 WeaselSetup.exe 就会弹出截图中的那个窗口&#xff0c;然后指定你的用户文件夹目录就可以了

云ES高级监控告警

一、高级监控告警配置 1.1 操作入口 1.2 配置告警模块 1.2.1 新建联系人 添加联系人后,需要进行激活 1.2.2 新建联系人组 1.2.3 创建报警组 1.2.4 新建报警规则

鸿蒙4.0真机调试踩坑

传言鸿蒙next版本将不再兼容Android&#xff0c;所以领导安排做下鸿蒙开发的调研工作。 鸿蒙开发指南其实已经非常的友好了。但是鸿蒙开发本身还是有些坑要踩&#xff0c;这篇文章主要讲了鸿蒙真机调试问题。 目前手上的真机为华为 nova6&#xff0c;处理器为麒麟990.鸿蒙系统…

敲敲云与简道云流程设计引擎对比:选择更适合您的产品

在当今数字化时代&#xff0c;流程管理和自动化变得越来越重要。作为APaaS服务的两个知名产品&#xff0c;敲敲云和简道云都提供了流程设计引擎&#xff0c;帮助企业实现高效的流程管理。然而&#xff0c;在比较两者之后&#xff0c;您可能会发现敲敲云在多个方面具有优势&…

Github小彩蛋显示自己的README,git 个人首页的 README,readme基本语法

先上效果&#x1f447; 代码在下面&#xff0c;流程我放最下面了&#xff0c;思路就是创建一个和自己同名的仓库&#xff0c;要公开&#xff0c;创建的时候会提示小彩蛋你的reademe会展示在你的首页&#xff0c;或许你在这个readme里面的修改都会在你的主页上看到了&#x1f44…

OpenLayer系列——【一】初识OpenLayer与OpenLayer视图操作

初识OpenLayer 1、初始化地图渲染 安装openlayer依赖 npm i ol首先准备一个容器用来渲染地图 <div id"map" ref"map" style"width: 100%; height: 100%" />导入依赖初始化地图 import ol/ol.css; import OSM from ol/source/OSM.js; …