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

作者: 罗罗攀 | 来源:发表于2018-11-17 09:08 被阅读8次

大纲

这是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

相关文章

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

    大纲 这是flask的第二篇文章,在第一篇文章中,我们看到了flask是如何让固定url和和函数保证对应的,但现实...

  • flask的路由

    前言 在flask应用中,路由是指用户请求的URL和视图函数之间的映射。flask框架会根据http请求的URL在...

  • Flask 速记

    一、从hello.py开始 URL映射:即URL和视图函数之间的对应关系,Flask使用app.route()生成...

  • Flask的route的源码分析

    Flask route的源码分析 flask的例子 使用app.route装饰器,完成了url与视图函数的映射在f...

  • Flask url与视图函数映射

    一、route()装饰器将URL绑定到特定函数 三、唯一的URLs / 重定向行为以下两条规则在使用斜杠时有所不同...

  • URL与视图函数的映射

    今天跟大家讲的是URL与视图函数的映射 URL与视图函数的映射 url与视图函数的映射是通过@app.route(...

  • flask的路由、URL规则、静态文件、request、sess

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

  • Flask中的url_for()怎么用?

    在Flask开发中常会url_for()函数,这个url_for()函数是用于构建指定函数的URL,而且url_f...

  • 【OK】flask笔记(九): URL映射

    一、请求调度-URL映射 程序收到客户端发送来的请求时,需要找到处理该请求的视图函数。 为了完成这个任务,Flas...

  • 十二 Django-URL路由

    URL路由映射 一、概要 路由映射模块,主要完成url与views视图函数的映射。当一个url请求到来时,会按照这...

网友评论

    本文标题:Flask学习笔记之url和函数映射

    本文链接:https://www.haomeiwen.com/subject/pjkbfqtx.html