python3 Flask -day2
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的更多相关文章
- python3+Flask 链接MySQL 时,提示“No module named MYSQLdb”
python3+flask 链接Mysql时提示“No module named MYSQLdb” 解决: pip install mysqlclient
- Python3+Flask+uwsgi部署
python3 按照常规的方式安装即可: wget https://www.python.org/ftp/python/3.5.4/Python-3.5.4.tgz tar zxvf Python-3 ...
- Python3+Flask安装使用教程
一.环境配置 当前我的开发环境是Miniconda3+PyCharm.开发环境其实无所谓,自己使用Python3+Nodepad都可以.安装Flask库: pip install Flask 二.第一 ...
- Python3 Flask+nginx+Gunicorn部署(上)
前言:一般在本地运行flask项目通常是直接python3 文件名.py,然后打开:http://127.0.0.1:5000 查看代码结果 这次主要是记录flask在python3 环境结合ngin ...
- python3 flask部署新浪sae
第一步需要注册新浪云 https://sae.sinacloud.com/ 第二步 创建应用,注:直接选python2.7不用纠结,后面可以指定python版本,共享版 第三步 找到git仓库信息 第 ...
- Python3 flask nginx uwsgi 环境搭建
配置项目的时候一般使用虚拟环境,是各个项目的环境独立起来,更多方便管理.至于如何使用搜索即可,并不难 1.安装python3 yum -y install zlib-devel bzip2-devel ...
- python3 Flask安装
虚拟环境 建议在开发环境和生产环境下都使用虚拟环境来管理项目的依赖. 为什么要使用虚拟环境?随着你的 Python 项目越来越多,你会发现不同的项目会需要 不同的版本的 Python 库.同一个 Py ...
- 如果使用 Python3(Flask) 一步一步模拟一个网页微信客户端
目录 Web Weixin Pipeline 一.获取登录的二维码 1.1.打开浏览器输入下面网址 1.2.梳理原理 1.3.代码实现 1.4.启动测试 二.扫码成功 2.1.扫码状态 2.2.原理状 ...
- 解决centos6系统上python3—flask模块的安装问题
Flask 是一个使用 Python 编写的轻量级 Web 框架(所以我们前面花了那么多时间安装 Python3 呀).它被称为微型架构,因为其使用非常简单的核心以及功能丰富的扩展.虽然 Flask ...
随机推荐
- Electron学习笔记(一)
Electron是使用Javascript.HTML5技术构建跨平台桌面应用的技术,是目前非常活跃的一项技术,其中比较有名气的应用有微软的VS Code. 创建一个Electron应用的方式有很多,G ...
- 我敢说你不一定完全理解try 块,catch块,finally 块中return的执行顺序
大家好,今天我们来讲一个笔试和面试偶尔都会问到的问题,并且在工作中不知道原理,也会造成滥用. 大家可能都知道,try 块用来捕获异常,catch块是处理try块捕获的异常,finally 块是用来关闭 ...
- 自定义GridLookUpEdit编辑器
本文版权归博主 惊梦无痕 所有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作.SourceLink 前两天分享了GridControl的自定义编辑器,今天再来分享一下整理出来的GridLo ...
- 【4】Asp.Net Core2.2中间件多扩展对应应用
[前言] 上一篇完成了Asp.Net Core 2.2全新的管道处理模型解析,“俄罗斯套娃”式的委托嵌套和传递,组建了扩展性无与伦比的管道模型!与此同时,委托嵌套过于复杂,使用起来并不友好,然后多种扩 ...
- 学习 day4 html 盒子模型
盒子模型 1.框模型 框:页面上所有元素都可以称为“框” 框模型:(BOX Model),又称盒子模型 定义框处理元素内容.内边距padding.外边距margin.边框的样式border 外边距ma ...
- 免费开源ERP Odoo实施指南 连载一:Odoo概述
Odoo是什么 Odoo,以前叫OpenERP,是比利时Odoo S.A.公司开发的一个企业应用软件套件,开源套件包括一个企业应用快速开发平台,以及几千个Odoo及第三方开发的企业应用模块.Odoo适 ...
- Git使用详细教程(8):Git分支
目录 创建分支 查看分支 切换分支 删除分支 分支合并 探寻分支本质 创建分支 当我们使用git init projectName命令的时候,Git就会默认帮我们创建一个分支,名字叫做master. ...
- SQL Server存储过程邮件发送以表格方式发送
一.收到邮件显示:示例 二.存储过程代码部分: BEGIN SET NOCOUNT ON; --初始化 Declare @MailTo nvarchar(max) Declare @MailCc nv ...
- equals方法和==的区别--用实例简单说明
首先我们创建一个类 public class People { private String name; private String address; public String getName() ...
- 【Python实践-5】使用迭代查找一个list中最小和最大值
# -*- coding: utf-8 -*- #使用迭代查找一个list中最小和最大值,并返回一个tuple #遍历list,找到最小值 def findMinAndMax(L): if L==[] ...