Python第三方库 - Flash(python web框架)

news2024/11/16 5:39:48

1 Flask

1.1 认识Flask

Web Application FrameworkWeb 应用程序框架)或简单的 Web FrameworkWeb 框架)表示一个库和模块的集合,使 Web 应用程序开发人员能够编写应用程序,而不必担心协议,线程管理等低级细节。

1.2 Pycharm安装与简单测试

1.2.1 安装

Pycharm 安装 Flask 框架
File -> SettingsProject: [project name]Project Interpreter

在这里插入图片描述

1.2.2 简单测试

运行下面代码,打开http://127.0.0.1:5000的链接

from flask import Flask
# __name__:代表当前模块,app为类的实例
app = Flask(__name__)

# 创建一个路由和视图函数的映射
@app.route('/')
def hello_world():
   return 'Hello World'

if __name__ == '__main__':
   app.run()
   #app.run(host='0.0.0.0', port=5000)

在这里插入图片描述

Debug模式(热更新)

Debug模式从控制台可以看见
在这里插入图片描述
开启方法:

# 开启Debug模式 运行时传递参数
app.run(debug=True)

2 Flask模块的语法与使用

2.1 Flask路由与路由参数

2.1.1 路由

Flask中的route()装饰器用于将URL绑定到函数,下面代码运行在http://127.0.0.1:5000/hello

@app.route('/hello')
def hello_world():
   return 'hello world'

application对象的add_url_rule()函数也可用于将URL与函数绑定

from flask import Flask
app = Flask(__name__)

def hello_world():
   return 'hello world'

app.add_url_rule('/', 'hello', hello_world)
app.run()
2.1.2 路由参数(动态构建UrL)

通过向规则参数添加变量部分,可以动态构建URL
此变量部分标记为<variable-name>
它作为关键字参数传递给与规则相关联的函数。

from flask import Flask
app = Flask(__name__)

@app.route('/hello/<name>')
def hello_name(name):
   return 'Hello %s!' % name

@app.route('/blog/<int:postID>')
def show_blog(postID):
   return 'Blog Number %d' % postID

@app.route('/rev/<float:revNo>')
def revision(revNo):
   return 'Revision Number %f' % revNo

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

在这里插入图片描述

2.1.3 URL构建

url_for()函数用于动态构建特定函数的URL

语法
url_for(函数名,关键字参数)

举例:
from flask import Flask, redirect, url_for
app = Flask(__name__)
@app.route('/world')
def hello_world():
   return 'Hello  world!!!'


@app.route('/test/<str>')
def hello_test(str):
   return '%s !!!' % str


@app.route('/other/<oth>')
def hello_other(oth):
   if oth =='world':
      return redirect(url_for('hello_world'))
   else:
      return redirect(url_for('hello_test',  str= '随便拉'))


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

代码解析:
在postman输入http://127.0.0.1:5000/other/world网址,如果查接收的参数与world匹配,则重定向hello_world()函数
否则:
重定向到hello_test()函数

在这里插入图片描述

Flask和表单

html代码

<style>
    form{
        margin:300px auto;
        display:block;
    }
</style>
<body>
      <form action="http://localhost:5000/test" method="post" style="width:300px;height:30px">
        <div class="">
          <label for="exampleFormControlTextarea1" class="form-label">Example textarea</label>
          <textarea class="form-control" id="exampleFormControlTextarea1" rows="3" name="txt"></textarea>
        </div>
         <input class="btn btn-primary" type="submit" value="Submit">
      </form>
</body>

py代码

from flask import Flask, redirect, url_for, request, render_template

app = Flask(__name__)

@app.route('/page')
def index():
    return render_template("1.html")

@app.route('/success/<name>')
def success(name):
    return 'welcome %s' % name

@app.route('/test',methods = ['POST', 'GET'])
def test():
    if request.method == 'POST':
        txt = request.form['txt']
        print(txt)
        return redirect(url_for('success', name=txt))
    else:
        return redirect(url_for('index'))

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

在这里插入图片描述

参考文档

[1] W3CSchool教程

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

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

相关文章

部署springboot打包不打包配置文件,配置文件为外部配置文件使用 (真实场景)

场景 springboot项目打包的时候&#xff0c;想要将配置文件不要打包到jar包中&#xff0c;作为外部使用&#xff0c;不同环境&#xff0c;配置文件的配置值肯定不一样&#xff0c;真实场景。 比如 开发环境数据库配置为 127.0.0.1:3306 &#xff0c; 测试环境 122.0.2.2&am…

火山引擎 LAS Spark 升级:揭秘 Bucket 优化技术

更多技术交流、求职机会&#xff0c;欢迎关注字节跳动数据平台微信公众号&#xff0c;回复【1】进入官方交流群 文章介绍了 Bucket 优化技术及其在实际业务中的应用&#xff0c;包括 Spark Bucket 的基本原理&#xff0c;重点阐述了火山引擎湖仓一体分析服务 LAS&#xff08;下…

记录--vue3 + mark.js | 实现文字标注功能

这里给大家分享我在网上总结出来的一些知识&#xff0c;希望对大家有所帮助 页面效果 具体实现 新增 1、监听鼠标抬起事件&#xff0c;通过window.getSelection()方法获取鼠标用户选择的文本范围或光标的当前位置。2、通过 选中的文字长度是否大于0或window.getSelection().isC…

drf-过滤、排序、异常处理、自封装Response

过滤 过滤就是根据路由url?后的信息过滤出符合&#xff1f;后条件的数据而非全部&#xff0c;比如…/?nameweer就是只查name是weer的数据&#xff0c;其余不返回。 1、安装&#xff1a;pip3 install django-filter2、注册&#xff1a;在settings.py中的app中注册django-filt…

MYSQL(事务+锁+MVCC+SQL执行流程)理解(2)

一)MYSQL中的锁(知识补充) 可以通过In_use字段来进行判断是否针对于表进行加了锁 1)对于undo log日志来说:新增类型的&#xff0c;在事务提交之后就可以清除掉了&#xff0c;修改类型的&#xff0c;事务提交之后不能立即清除掉这些日志会用于mvcc只有当没有事务用到该版本信息时…

列表推导式、集合推导式、字典推导式、生成器

列表推导式 可以与三目运算符搭配使用 dict1 {name: "by", "age": 20} dict2 {name: "ss", "age": 25} dict3 {name: "sa", "age": 24} dict4 {name: "xs", "age": 27} list1 [dict1, …

Python 算法高级篇:分治算法的原理与应用

Python 算法高级篇&#xff1a;分治算法的原理与应用 1. 什么是分治算法&#xff1f;2. 分治算法的应用2.1 归并排序2.2 快速排序2.3 最大子数组问题2.4 汉诺塔问题 3. 代码示例3.1 分治算法求幂 4. 总结 分治算法是一种重要的算法设计技巧&#xff0c;它将一个大问题分解为多个…

(R900567512)4WE6D6X/OFEG24N9K4液压电磁换向阀

&#xff08;R900567512)4WE6D6X/OFEG24N9K4液压电磁换向阀特点&#xff1a; ▶▶ 具有三位四通&#xff0c;二位四通或二位三通的方向设计 ▶▶ 高功率线圈 ▶▶ 油口安装面符合 DIN 24340 形式 A ▶▶ 油口安装面符合 ISO 4401-03-02-0-05和 NFPA T3.5.1 R2-2002 D03 ▶▶ 带…

虹科 | 解决方案 | 汽车示波器 索赔管理方案

索赔管理 Pico汽车示波器应用于主机厂/供应商与服务店/4S店的协作&#xff0c;实现产品索赔工作的高效管理&#xff1b;同时收集的故障波形数据&#xff0c;便于日后的产品优化和改进 故障记录 在索赔申请过程中&#xff0c;Pico汽车示波器的数据记录功能可以用于捕捉故障时的…

搭建zlmediakit和wvp_pro

zlmediakit使用zlmediakit/zlmediakit:master镜像 wvp_pro使用648540858/wvp_pro&#xff0c;可参照https://github.com/648540858/wvp-GB28181-pro wvp_pro官方https://doc.wvp-pro.cn/#/ 刚开始我找了个docker镜像运行&#xff0c;后来播放页面一直加载&#xff0c;最后就用了…

软件设计包括了四个既独立又相互联系的活动

软件设计包括了四个既独立又相互联系的活动

广告联盟是什么?app开发者如何选择广告联盟?

在广告变现过程中&#xff0c;广告联盟是必不可少的因素&#xff0c;广告联盟是一种在线广告服务模式&#xff0c;它将广告主和网站主&#xff08;或博主、应用开发者等&#xff09;联系在一起&#xff0c;通过广告联盟平台的中介服务&#xff0c;将广告主的广告投放到网站主的…

sigmoid和softmax函数的区别;神经网路常用的损失函数以及对应的应用场景;softmax的作用

一、Sigmoid函数和Softmax函数是常用的激活函数&#xff0c;它们在神经网络中经常用于实现非线性映射。 Sigmoid函数&#xff1a;Sigmoid函数常用于二分类问题&#xff0c;它将输入的取值范围映射到一个介于0和1之间的输出。Sigmoid函数的公式是 f(x) 1 / (1 exp(-x))&#x…

Python的web自动化学习(一)Selenium库的工作原理

Python的web自动化学习&#xff08;一&#xff09;Selenium库的工作原理 首发2023-07-31 11:01云中随心而记 后续会根据持续学习来更新&#xff0c;大家一起学习 引言&#xff1a; Selenium是一个流行的自动化测试工具&#xff0c;用于模拟和控制浏览器行为&#xff0c;常用于…

美创科技列为IDC中国数据安全市场代表厂商

近日&#xff0c;国际权威IT咨询机构IDC发布《中国数据安全市场发展趋势&#xff0c;2023》报告&#xff0c;报告针对中国数据安全市场的发展现状进行调研&#xff0c;明确了最终用户数据安全建设的痛点、难点&#xff0c;阐述了市场中各技术服务提供商的服务方案和优势。 美创…

24 个常见的 Docker 疑难杂症处理技巧!!!记得点赞收藏

1. Docker 迁移存储目录 默认情况系统会将 Docker 容器存放在 /var/lib/docker 目录下 [问题起因] 今天通过监控系统&#xff0c;发现公司其中一台服务器的磁盘快满了&#xff0c;随即上去看了下&#xff0c;发现 /var/lib/docker 这个目录特别大。由上述原因&#xff0c;我们都…

【openGauss】一主一备实现主备节点切换实验(switchover、failover)

openGauss在运行过程中&#xff0c;数据库管理员可能需要手工对数据库节点做主备切换。例如发现数据库节点主备failover后需要恢复原有的主备角色&#xff0c;或怀疑硬件故障需要手动进行主备切换。 级联备机不能直接转换为主机&#xff0c;只能先通过switchover或者failover成…

抖音上的影视解说是怎么配音的?

抖音影视解说的配音是从各种渠道配的。其中&#xff0c;最常见的方法是使用 AI 配音。AI 配音可以通过在线配音平台或语音合成软件实现。这些软件可以生成各种声音&#xff0c;包括电影解说、主播、卡通、游戏等。此外&#xff0c;一些抖音影视解说也使用了真人配音。真人配音通…

代码训练营第49天:leetcode139单词划分|多重背包|背包讲解

leetcode139&#xff1a;单词划分 文章讲解&#xff1a;leetcode139 多重背包&#xff1a;文章讲解 背包讲解&#xff1a;文章讲解 1&#xff0c;leetcode139 单词划分 class Solution { public:bool wordBreak(string s, vector<string>& wordDict) {unordered_set…

Redis 主从

目录 ​编辑一、构建主从架构 1、集群结构 2、准备实例和配置 &#xff08;1&#xff09;创建目录 &#xff08;2&#xff09;修改原始配置 &#xff08;3&#xff09;拷贝配置文件到每个实例目录 &#xff08;4&#xff09;修改每个实例的端口&#xff0c;工作目录 &a…