Flask中路由参数、请求方式设置

一、参数设置

1.参数类型

Flask中参数的使用

@app.route('/parames/<username>/')
def hello_world3(username, age=20):
return username + ''

以上代表的是路径参数。

Flask中的参数:
1)都是关键字参数 
2)默认标识是<>
3)username需要和对应的视图函数的参数名字保持一致。
4)参数允许有默认值:
如果有默认值,那么在路由中,不传输参数也是可以的。
如果没有默认值,参数在路由中必修传递。
5)参数默认类型是string,如果想修改为其它类型,如下
<参数类型:username>

# 设置username为int类型
<int:username> 

参数语法

  • string 默认类型,会将斜线认为是参数分隔符
  • int 限制参数的类型是int类型
  • float 显示参数对的类型是float类型
  • path 接受到的数据格式是字符串,特性会将斜线认为是一个字符

2.未指定参数类型

在url中传入参数时,如果没有指定参数的类型,会默认为参数是string类型。
如下:
没有给id指定参数类型,id默认是string类型,想要对id做运算,就必须先转化成int类型,最后返回的内容必须是字符串,所以再转成string类型。

@house_blueprint.route('/<id>/')
def h(id):
id = int(id) ** 5
id = str(id)
return id

运行结果:

 

3.指定参数类型

(1)int、float类型

给参数指定类型,就在参数前加上参数类型和冒号即可。如下,指定id是int类型,可以直接进行运算。

@house_blueprint.route('/<int:id>/')
def h(id):
id = id ** 5
id = str(id)
return id
运行结果:
 

(2)path类型

指定path类型,可以获取当前路径,值得注意的是获取的不是完整路径,只是此处传入的路径参数,如下获取的路径是 testpath/test。

@house_blueprint.route('/<path:url_path>/')  #蓝图
def h(url_path):
return 'path:%s' % url_path

运行结果:

 
@app.route('/usepath/<path:name>/', methods=['GET', 'POST'])
def use_path(name):
return str(name)

userpath后面的路径随便写,如

http://192.168.100.95:8080/usepath/dfdsf/dsfsdf/fdsfds/
http://192.168.100.95:8080/usepath/dfdsf/

(3)uuid类型

@house_blueprint.route('/<uuid:uu>')
def h(uu):
return 'uu:s' % uu

(4) any:可以指定多种路径,这个通过一个例子来进行说明:

 

@app.route('/index/<any(article,blog):url_path>/')
def item(url_path):
return url_path

以上例子中,item这个函数可以接受两个URL,一个是http://127.0.0.1:5000/index/article/,另一个是http://127.0.0.1:5000/index//blog/。并且,一定要传url_path参数,当然这个url_path的名称可以随便。

请求方法
常用的有5中,请求方式默认是GET,可以在路由中设置,如下

methods=['GET', 'POST','DELETE'.'PUT','HEAD']

二、请求方式设置

flask中请求默认是get请求,若想要指定其他请求方式,用参数methods指定。如用户注册时,需要把用户填写的数据存入数据库,生成一条新用户的记录,此处就需要用到post请求。

@house_blueprint.route('/register/', methods=['POST'])
def register():
register_dict = request.form
username = register_dict['usrename']
password = register_dict.get('password') user = User()
user.username = username
user.password = password
db.session.add(user)
db.session.commit() return '创建用户成功'
https://www.jianshu.com/p/e1b7d85efccb

Flask中路由参数的更多相关文章

  1. 第七篇 Flask 中路由系统以及参数

    Flask中的路由系统其实我们并不陌生了,从一开始到现在都一直在应用 @app.route("/",methods=["GET","POST" ...

  2. Flask中路由系统、Flask的参数及app的配置

    @app.route('/', methods=['GET', 'POST']) 1. @app.route()装饰器中的参数 methods:当前URL地址,允许访问的请求方式 @app.route ...

  3. Flask最强攻略 - 跟DragonFire学Flask - 第七篇 Flask 中路由系统

    Flask中的路由系统其实我们并不陌生了,从一开始到现在都一直在应用 @app.route("/",methods=["GET","POST" ...

  4. Flask 中路由系统

    1. @app.route() 装饰器中的参数 methods : 当前 url 地址,允许访问的请求方式 @app.route("/info", methods=["G ...

  5. Flask中路由系统以及蓝图的使用

    一.Flask的路由系统 1.@app.route()装饰器中的参数 methods:当前URL地址,允许访问的请求方式 @app.route("/info", methods=[ ...

  6. 第七篇 Flask 中路由系统

    1. @app.route() 装饰器中的参数 如果不明白装饰器 点击这里 methods : 当前 url 地址,允许访问的请求方式 @app.route("/info", me ...

  7. 7,Flask 中路由系统

    Flask中的路由系统 @app.route("/",methods=["GET","POST"]) 为什么要这么用?其中的工作原理我们知道 ...

  8. flask中路由系统

    flask中的路由我们并不陌生,从一开始到现在都一直在应用 @app.route("/",methods=["GET","POST"]) 1 ...

  9. Flask中获取参数(路径,查询,请求体,请求头)

    上一篇中已经讲述了:HTTP协议向服务器传参有几种途径{ 链接 } 在Flask中同样通过这4中传参途径进行归纳: 1. URL中路径参数的获取: 拓展: # 路由参数/路径参数:http://127 ...

随机推荐

  1. js中的in

    in这个操作符平时我们可能用的不多,但是一旦有需要我觉得还是很有用的,昨天在in操作符中栽了一个坑,写个博客纪念一下 var json = {a:1,b:2,c:3}; console.log('a' ...

  2. PAT Basic 1074 宇宙无敌加法器 (20 分)

    地球人习惯使用十进制数,并且默认一个数字的每一位都是十进制的.而在 PAT 星人开挂的世界里,每个数字的每一位都是不同进制的,这种神奇的数字称为“PAT数”.每个 PAT 星人都必须熟记各位数字的进制 ...

  3. socketserver 多进程、多线程应用实例

    1.线程池,ThreadingTCPServer #coding=utf-8 ''' 可并发,客户端互不影响,可以保持长连接,客户端发送消息 也不要求加 \r\n ''' #线程池(windows 可 ...

  4. nagios安装部署及详细配置说明(转)

    一.Nagios简介 Nagios是一款开源的电脑系统和网络监视工具,能有效监控Windows.Linux和Unix的主机状态,交换机路由器等网络设置,打印机等.在系统或服务状态异常时发出邮件或短信报 ...

  5. CF802C Heidi and Library (hard) 最小费用流

    你有一个容量为k的空书架,现在共有n个请求,每个请求给定一本书ai,如果你的书架里没有这本书,你就必须以ci的价格购买这本书放入书架. 当然,你可以在任何时候丢掉书架里的某本书.请求出完成这n个请求所 ...

  6. v-solt插槽

    https://www.jb51.net/article/157565.htm https://juejin.im/post/5c64e11151882562e4726d98

  7. 2.session 简介

    2.session 简介 hibernate的执行流程, 创建一个配置对象Configuration,这个配置对象的作用就是用来读取配置文档Hibernate.cfg.xml 获得配置对象的目的是可以 ...

  8. linux实操_shell流程控制

    if判断: 基本语法: if [ 条件判断式 ] then 程序 elif [ 条件判断式 ] then 程序 fi 实例:请编写一个shell程序,如果输入的参数,大于60,则输出“及格了”,如果小 ...

  9. UEditor设置内容setContent()失效的解决方法

    ueditor常见用法: https://blog.csdn.net/qq_31879707/article/details/54894735#UE.Editor:setContent() UEdit ...

  10. UEditor粘贴word

    图片的复制无非有两种方法,一种是图片直接上传到服务器,另外一种转换成二进制流的base64码 目前限chrome浏览器使用 首先以um-editor的二进制流保存为例: 打开umeditor.js,找 ...