flask 实战第二天,url传参

当我们访问网站/的时候,会执行hell_world函数,并把这个函数的返回值返回给浏览器,这样浏览器就显示hello world了

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

按照这种映射关系,我们可以再写一个,比如文章列表

@app.route("/acticle_list/")
def acticle_list():
return "Acticle list"

那么我们要如何给url传参呢?

比如我们来写个文章详情页

@app.route("/acticle_list/<article_id>/")#我们在<>里面写参数名article_id
def acticle_list(article_id): #这里的参数名和上面的一直,即article_id
return "您请求的文章是:{}".format(article_id)

访问http://127.0.0.1:5000/article/1/

限定参数数据类型

可以对参数限定数据类型,比如上面的文章详情,限定article_id必须为整数型

@app.route('/article/<int:article_id>/')
def article_detail(article_id):
return '您请求的文章是:{}'.format(article_id)

这样当我们传递的参数是int类型的时候才能正常访问,其他类型都会返回404

类型可以设置提下几种:

  string: 默认的数据类型,接收没有任何斜杠"\   /"的文本

  int: 整数形

  float: 浮点型

  path: 和string类似,但是接受斜杠

  uuid: 只接受uuid字符串

  any: 可以指定多种路径,比如以下例子

@app.route('/<any(article,blog):url_path>/<id>/')
def item(url_path, id):
if url_path == 'article':
return '文章详情:{}'.format(id)
else:
return '博客详情:{}'.format(id)

?key=value形式传参

上面我们接受参数使用的是path形式,下面我们来使用查询字符串的形式,即?key=value

如果有多个参数,则用&来拼接: ?key1=value1&key2=value2

@app.route("/d/")
def d():
wd=request.args.get('wd')
return "你传递的参数是:{}".format(wd)

flask获取参数方式:

request.form.get("key", type=str, default=None) 获取表单数据

request.args.get("key") 获取get请求参数

request.values.get("key") 获取所有参数

提醒

在定义url的时候,一定记得在最后加一个斜杠,

1、如果不加斜杠,那么在浏览器中访问这个url的时候最后加了斜杠,那么就访问不到了,用户体验不好

2、搜索引擎会将不加斜杠的和加斜杠的视为不同的url,而实际上是同一个,那么会给浏览器造成一个误解,加了斜杠就不会出现斜杠的问题

python3 Flask -day2的更多相关文章

  1. python3+Flask 链接MySQL 时,提示“No module named MYSQLdb”

    python3+flask 链接Mysql时提示“No module named MYSQLdb” 解决: pip install mysqlclient

  2. Python3+Flask+uwsgi部署

    python3 按照常规的方式安装即可: wget https://www.python.org/ftp/python/3.5.4/Python-3.5.4.tgz tar zxvf Python-3 ...

  3. Python3+Flask安装使用教程

    一.环境配置 当前我的开发环境是Miniconda3+PyCharm.开发环境其实无所谓,自己使用Python3+Nodepad都可以.安装Flask库: pip install Flask 二.第一 ...

  4. Python3 Flask+nginx+Gunicorn部署(上)

    前言:一般在本地运行flask项目通常是直接python3 文件名.py,然后打开:http://127.0.0.1:5000 查看代码结果 这次主要是记录flask在python3 环境结合ngin ...

  5. python3 flask部署新浪sae

    第一步需要注册新浪云 https://sae.sinacloud.com/ 第二步 创建应用,注:直接选python2.7不用纠结,后面可以指定python版本,共享版 第三步 找到git仓库信息 第 ...

  6. Python3 flask nginx uwsgi 环境搭建

    配置项目的时候一般使用虚拟环境,是各个项目的环境独立起来,更多方便管理.至于如何使用搜索即可,并不难 1.安装python3 yum -y install zlib-devel bzip2-devel ...

  7. python3 Flask安装

    虚拟环境 建议在开发环境和生产环境下都使用虚拟环境来管理项目的依赖. 为什么要使用虚拟环境?随着你的 Python 项目越来越多,你会发现不同的项目会需要 不同的版本的 Python 库.同一个 Py ...

  8. 如果使用 Python3(Flask) 一步一步模拟一个网页微信客户端

    目录 Web Weixin Pipeline 一.获取登录的二维码 1.1.打开浏览器输入下面网址 1.2.梳理原理 1.3.代码实现 1.4.启动测试 二.扫码成功 2.1.扫码状态 2.2.原理状 ...

  9. 解决centos6系统上python3—flask模块的安装问题

    Flask 是一个使用 Python 编写的轻量级 Web 框架(所以我们前面花了那么多时间安装 Python3 呀).它被称为微型架构,因为其使用非常简单的核心以及功能丰富的扩展.虽然 Flask ...

随机推荐

  1. LeetCode算法题-Number of Lines To Write String(Java实现)

    这是悦乐书的第319次更新,第340篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第188题(顺位题号是806).我们要将给定字符串S的字母从左到右写成行.每行最大宽度为 ...

  2. xamarin forms中的Button文本默认大写

    问题来源 使用xamarin forms创建的android项目中,Button.Toolbar的右侧菜单按钮上的如果是字母的话,在android5.0以上,默认的文本都是大写,这种情况iOS项目不存 ...

  3. C#处理json实战

    昨天看到技术群中发了一个查询天气的api,http://www.sojson.com/open/api/weather/json.shtml?city=南昌 点进去看,发现服务器传回来一个天气信息的j ...

  4. Odoo Linux服务器一键安装脚本使用指南

    Odoo安装脚本介绍 为了帮助更多Linux服务器维护人员快速部署Odoo,为此开源智造(OSCG)基于André Schenkels曾经开放的openerp-install-scripts所构建的基 ...

  5. 关于mui前端传值,springboot后台接收值的问题

    最近做app,使用mui的ajax给后台传参,后台一直接收不到值,表示很蛋疼.这里通过网上搜索加上个人实践,总结归纳了三种前端传值和后台接收的方式. 第一种: 前端: data: JSON.strin ...

  6. 关于IT公司技术委员会职责

    技术委员会的核心职责 组织人才相关 • 制定职级标准 - 能力框架:知识,技能,通用素质 - 职级标准:T2T3T4-P7P8P9- • 职级评审,对齐标准 • 高端招聘,对齐标准 • 校园招聘,对齐 ...

  7. oracle nid修改dbname

    修改name的目的只是为了日后管理清晰点,不重复.我比较懒.记性又差,所以就整理记下1.检查当前nameSQL> show parameter nameNAME TYPE VALUE------ ...

  8. Linux内存管理 (5)slab分配器

    专题:Linux内存管理专题 关键词:slab/slub/slob.slab描述符.kmalloc.本地/共享对象缓冲池.slabs_partial/slabs_full/slabs_free.ava ...

  9. ReactiveSwift源码解析(二) Bag容器的代码实现

    今天博客我接着上篇博客的内容来,上篇博客我们详细的看了ReactiveSwift中的Observer已经Event的代码实现.接下来我们来看一下ReactiveSwift中的结构体Bag的实现.Bag ...

  10. php批量修改文件名称

    <?php//利用PHP目录和文件函数遍历用户给出目录的所有的文件和文件夹,修改文件名称function fRename($dirname){ if(!is_dir($dirname)){ ec ...