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

青岛网站建设和优化电脑清理软件十大排名

青岛网站建设和优化,电脑清理软件十大排名,正能量网站大全,android studio手机版下载最近好像拖更有点久了。抱歉抱歉~ 今天我们继续来聊聊路由(其实就是我上次偷懒剩下一点没讲完)。 通过上次的文章,我们基本了解了Flask中的路由,是不是比较简单呢?别急,今天来点猛料。 一、路由之HTTP方法绑…

        最近好像拖更有点久了。抱歉抱歉~

        

        今天我们继续来聊聊路由(其实就是我上次偷懒剩下一点没讲完)。

       通过上次的文章,我们基本了解了Flask中的路由,是不是比较简单呢?别急,今天来点猛料。

       一、路由之HTTP方法绑定。

            我们都知道网站通过HTTP与浏览器或其他客户端进行交互,而访问一个URL时通常有好几种访问方式。像我们用浏览器平时访问百度啊,用的其实是Get。像其他的方法还有POST、HEAD、PUT、DELETE等,详细的大家可以自行百度。

               在Flask中,路由默认设置使用GET方式进行路径访问。

         1、指定HTTP访问方式的方法。

                有小伙伴就说了,那我想改变访问的方式怎么办?

                其实很简单,我们只需要修改route()中的参数,就可以配置其他访问方式。举个栗子:

@app.route('/', methods=['GET', 'POST'])
def hello_world():return 'Hello World!'

               然后我们这次用大家都比较熟悉的神器postman来调用一下我们的接口。我们选择POST方法访问,可以看到我们成功访问了。如下图:

              

            如果不设置允许POST方法,那么flask就会返回405,如下图:

            

               那就算客户端用了不同的方式访问,我们怎么知道是哪一种呢?诶,调皮,Flask早就为我们考虑到了。我们可以通过request.method来获取客户端的请求方式。request是Flask框架的一个全局对象,可以获得很多和HTTP请求的客户端相关的信息,比如cookies、headers、data、file等等。示例代码如下:

@app.route('/', methods=['GET', 'POST'])
def hello_world():if request.method == "GET":return "GET方法"else:return 'Hello World!'

            当使用GET方法访问的时候,就会返回“GET方法”,而用POST就会返回“Hello World!

            对了,顺带说一句,设置允许请求方法的时候,名字是可以大小写混用的,你可以写成“get”或者“Get”,当然一般还是统一一下比较好。悄悄告诉你,这是因为Flask最终都会将你写的转为大写,所以不影响。可见人家早就预料到你们会搞这些花里胡哨的东西了。源码如下:

methods = set(item.upper() for item in methods)

            

        2、同一个URL映射到不同的函数

       有些小伙伴说我不想用request.method去判断,我想要花里胡哨。好,行行行,依你依你~

        我们来看一段代码:

@app.route('/hello', methods=['GET'])
def hello():return '花里胡哨的GET'@app.route('/hello', methods=['POST'])
def hi():return '花里胡哨的POST'

         再看看访问的结果:

        

        好啦。这就是你们要的花里胡哨的效果。之所以可以这样做(还不是人家早知道你们整天就喜欢搞这些花里胡哨的东西),实际上是Flask定义了2组隐式的访问方式的规则。

        二、路由地址反向生成

            通过签名花里胡哨的操作,不不不,是学习,相信你已经掌握了更多关于路由的功能。到这里,有些同学又要来搞一波操作了。既然能通过路由去访问到函数,那可不可以通过函数来知道路由地址呢?这个问题就很有水平了。答案当然是可以啦,我们一起来看看。

            这次不卖关子了,我们先从Flask包中引入url_for函数。

from flask import url_for

            接着看一则完整的例子:

from flask import Flask
from flask import url_forapp = Flask(__name__)@app.route('/')
def hello_world():# 返回hello函数所对应的URLreturn url_for("hello")@app.route('/hello')
def hello():return 'hello world!'if __name__ == '__main__':app.run()

            接着我们去访问 http://127.0.0.1:5000 。可以看到,hello函数对应的URL就显示出来了。

            

            url_for函数的第1个参数是需要获取URL的函数名,如果URL有变量,只需要在函数中添加参数然后对其赋值即可。我们再看一个例子:

            

from flask import Flask
from flask import url_forapp = Flask(__name__)@app.route('/')
def hello_world():print(url_for('hello'))  # /helloprint(url_for('hello', name="clannadhh"))  # /hello?name=clannadhhprint(url_for('hi', name="clannadhh"))  # /hi/clannadhhreturn "http://www.clannadhh.club"@app.route('/hello')
def hello():return 'hello world!'@app.route('/hi/<string:name>')
def hi(name):return 'hello %s' % nameif __name__ == '__main__':app.run()

            使用url_for函数有什么好处呢?

  •     反向解析比硬编码有更好的可读性和可维护性。比如,当需要更换路由函数中的URL的地址时,你的代码改动就会非常小。
  •     url_for函数还会自动处理特殊字符,同时也会做Unicode编码转换。像空格就会转换成“%20”,而中文同样的也会转换,因为flask是不知道中文的。

            最后教大家个花里胡哨的东西,至于效果怎样,那就等待大家试了之后留言吧。记得打赏,疯狂暗示~

@app.route('/rmb')
@app.route('/nb')
@app.route('/')
def hello_world():return "hello world!"

            现在再去访问以下3个地址,看会发生什么?

http://127.0.0.1:5000/
http://127.0.0.1:5000/nb
http://127.0.0.1:5000/rmb

          好啦,今天内容还是蛮多的。好看记得推荐给身边的朋友吧,打个赏再走呗~

          

  

http://www.yayakq.cn/news/985170/

相关文章:

  • 恒通建设集团有限公司网站wordpress设置密码
  • 深圳 做公司网站怎样查看别人的网站是怎么建设
  • 网站备案地区微商城设计网站建设
  • asp+access网站开发实例精讲wordpress换模板 seo
  • 做网站难学吗软件开发工具软件
  • 网站开发接外包网站建设维护公司资质
  • 如何才能建设出一个优秀网站宁波网络推广软件
  • 网站建设可实施性报告深圳福田地图
  • 百度地图 企业网站wordpress 批量发布器
  • 建设网站虚拟现实技术免费的短视频app大全
  • 烟台网站推广怎么避免网站开发后门
  • 个人网站可以做淘客关于asp.net的网站模板
  • 黄骅市做网站价格做设计常逛的网站
  • 厦门服装商城网站建设做网站去哪里
  • 烟台住房和城乡建设厅网站wordpress用户密码加密算法
  • 神华公司两学一做网站wordpress 返回主页
  • 网站建设的目的前端用什么框架做网站
  • 推广网站模板雅安市住房和城乡建设局网站
  • 抚顺外贸网站建设食药监局网站建设方案
  • 购物网站常用功能模块介绍目前最新的营销方式有哪些
  • 网站优化关键词排名自己怎么做wordpress主题 demo
  • 劳务派遣做网站有必要吗wordpress无法置顶
  • p2p网上贷款网站建设方案.docx电子制作diy
  • 网站开发 一般用什么语言网站怎样续费
  • 首页调用网站栏目id企业网站前端建设
  • 石家庄网站建设 河北供求网江苏威达建设有限公司网站
  • 成都手机网站建设报价表常州网红餐厅有哪些
  • 杭州电子网站建设方案沁阳企业自助建站
  • 网站超大文件上传大型网站制作需要多少钱
  • 外贸自建站模板手机网站一键分享