Flask学习笔记之url和函数映射

大纲

这是flask的第二篇文章,在第一篇文章中,我们看到了flask是如何让固定url和和函数保证对应的,但现实的URL中,URL路径是多变的,今天我们就来学习详细的url和函数映射:

  • 加入参数
  • URL传参

加入参数

我们首先回顾下第一天的内容,通过下面代码,我们就能做到固定URL到函数的映射,在根路径下就会返回Hello World!。

@app.route('/')
def hello_world():
    return 'Hello World!'

但有时候我们的URL路径是不固定的,例如有些网站,针对不同的用户就是不同的URL,传入的数据也就不一样。例如下面的代码,我们把name当做参数传入,这样就可以返回不固定的内容。

@app.route('/u/<name>')
def user(name):
    return '欢迎:{}'.format(name)

这个name参数是默认传入的字符串数据类型,当然还是有其他传入类型的:

  • string为字符串类型,默认情况就是这样的。
  • int就是整数类型
  • float浮点数内心
  • path,和string类似,单数path可以接受斜杠
  • uuid,一个全宇宙都唯一的字符串,一般可以用来作为表的主键
  • any,可以同时指定多个路径
    我们首先举例子,看一下这个是如果指定的:
@app.route('/p/<int:id>')
def article(id):
    return '文章id为%s' % id

然后,我们看下any的使用方法:

@app.route('/<any(blog,user):url_path>/<id>')
def detail(url_path,id):
    if url_path == 'blog':
        return '博客id%s' % id
    else:
        return '用户id%s' % id

URL传参

在百度中,输入关键词,是通过?key=value的形式传递的,这个是查询字符串的方式,使用如下。

from flask import Flask,request
@app.route('/p/')
def p():
    wd = request.args.get('wd')
    return '查询的参数为:%s' % wd
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 22年12月更新:个人网站关停,如果仍旧对旧教程有兴趣参考 Github 的markdown内容[https://...
    tangyefei阅读 35,235评论 22 257
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,973评论 19 139
  • 这是16年5月份编辑的一份比较杂乱适合自己观看的学习记录文档,今天18年5月份再次想写文章,发现简书还为我保存起的...
    Jenaral阅读 2,859评论 2 9
  • 同大胖拌嘴,一生气说,现在就把你挂上XY卖掉!大胖立即拿起手机搜搜看,真的好多“老公”“老婆”被挂在XY上面啊。 ...
    唐四月阅读 197评论 0 0
  • 6月19日 忙了好几天,一下闲下来还有点不习惯呢,老想动手机。昨晚做梦梦见新的策划方案,好激动,其实最近一直都没睡...
    happyMia阅读 329评论 0 0