@app.route()

methods:当前url地址,允许访问的请求方式

@app.route("/info", methods=["GET", "POST"])
def student_info():
stu_id = int(request.args.get("id"))
return f"{stu_id}" # Python3.6的新特性 f"{变量名}"

endpoint:反向生成url地址,默认为视图函数名,导入url_for

from flask import Flask, url_for

app = Flask(__name__)

@app.route("/index",methods=["POST","GET"],endpoint="index_s")
def index():
return url_for("index_s") #index if __name__ == '__main__':
app.run(debug=True)

strict_slashes:url地址结尾符"/"的控制,默认为True:结尾不能的"/",False:无论结尾是否有"/"均可以访问

from flask import Flask, url_for

app = Flask(__name__)

#访问地址 /index
@app.route("/index",strict_slashes=True)
def index():
return url_for("index_s") #访问地址:/login 或 /login/
@app.route("/login",strict_slashes=False)
def login():
return '欢迎' if __name__ == '__main__':
app.run(debug=True)

defaults : 视图函数的参数默认值{"nid":1}

from flask import Flask, url_for

app = Flask(__name__)

@app.route("/index", defaults={"nid": 1})
def index(nid):
print(nid)
return "哈喽" if __name__ == '__main__':
app.run(debug=True)

redirect_to:url地址重定向,301永久重定向,在进入视图函数之前跳转

from flask import Flask, url_for

app = Flask(__name__)

@app.route("/index", redirect_to="/login")
def index(id):
print(id)
return "光临" @app.route("/login")
def login():
return '欢迎' if __name__ == '__main__':
app.run(debug=True)

动态路由参数

接受文件名,返回文件

<int:id>:只能是数字

from flask import Flask, url_for

app = Flask(__name__)

@app.route("/index/<int:a>",) #访问 http://127.0.0.1:5000/index/1
def index(a):
print(a) #
return "光临" if __name__ == '__main__':
app.run(debug=True)

<string:str>:可以是数字也可以是字符串

from flask import Flask, url_for

app = Flask(__name__)

@app.route("/index/<string:str>",)
def index(str):
print(str)
return "光临" if __name__ == '__main__':
app.run(debug=True)

也可以不用定义类型,默认接受字符串

from flask import Flask, url_for

app = Flask(__name__)

@app.route("/index/<name>",)
def index(name):
print(name)
return "光临" if __name__ == '__main__':
app.run(debug=True)

Flask路由的更多相关文章

  1. 一、Flask路由介绍

    Flask介绍(轻量级的框架,非常快速的就能把程序搭建起来) Flask是一个基于Python开发并且依赖jinja2模板和Werkzeug WSGI服务的一个微型框架,对于Werkzeug本质是So ...

  2. Flask - 路由系统

    目录 Flask - 路由系统 @app.route()装饰器中的常用参数 methods : 当前 url 地址,允许访问的请求方式 endpoint:反向url地址,默认为视图函数名(url_fo ...

  3. Flask路由系统

    Flask路由系统 我们之前了解了路由系统是由带参数的装饰器完成的. 路由本质:装饰器和闭包实现的. 设置路由的两种方式 第一种: @app.route('/index') def index(): ...

  4. Flask ——路由系统

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

  5. flask路由和视图和cookie

    什么是路由 """ 客户端(例如web浏览器)把请求发送给Web服务器,Web服务器再把请求发送给Flask程序实例. 程序实例需要知道对每个URL请求运行那些代码,所以 ...

  6. Flask -- 路由

    route()装饰器把一个函数绑定到对应的URL(可以是多个)上 @app.route('/') def index(): return 'Index Page' @app.route('/hello ...

  7. Flask路由&视图

    1 路由  1.1app.url_map 查看所有路由 from flask import Flask app = Flask(__name__) @app.route('/') def hello_ ...

  8. flask 第二章 endpoint重名 Flask路由 初始化配置 Falsk Config 蓝图+目录结构

    今日内容 1.路由的分发,以下两种方式效果一样,但是都能指向同一个函数 from flask import Flask app=Flask(__name__) #第一种方式 @app.route('/ ...

  9. Flask路由与蓝图Blueprint

    需求分析: 当一个庞大的系统中有很多小模块,在分配路由的时候怎么处理呢?全部都堆到一个py程序中,调用@app.route? 显然这是很不明智的,因为当有几十个模块需要写路由的时候,这样程序员写着写着 ...

  10. Flask路由报错:raise FormDataRoutingRedirect(request)

    raise FormDataRoutingRedirect(request)FormDataRoutingRedirect: A request was sent to this URL (http: ...

随机推荐

  1. weixinShare.js / 极简微信分享插件

    weixinShare.js / 极简微信分享插件 / 版本:0.1 这是一个很简单.很实用的微信分享插件,无需jQuery,只需要在网页里加入一行JS代码,即可自动识别微信浏览器并启动微信分享的提示 ...

  2. [转] 深入浅出mongoose-----包括mongoose基本所有操作,非常实用!!!!!

    深入浅出mongoose mongoose是nodeJS提供连接 mongodb的一个库. 此外还有mongoskin, mongodb(mongodb官方出品). 本人,还是比较青睐mongoose ...

  3. Select2 多层次赋值时异步赋值的问题

    场景: 当选择人员时加载人员,选择部门时加载部门.所以在人员下,选择人员A后,如果选择部门,会触发二级select 重新获取数据. 问题: 使用select2()方法进行绑定远程数据后,对第二个sel ...

  4. yum安装mongodb

    1.创建mongodb.repo文件 在/etc/yum.repos.d/目录下创建文件mongodb.repo,它包含MongoDB仓库的配置信息,内容如下: 复制代码代码如下: [mongodb] ...

  5. struts2远程命令执行漏洞S2-045

    Apache Struts2最新漏洞(CVE-2017-5638,S02-45) struts2远程命令执行漏洞S2-045 Apache Struts 2被曝存在远程命令执行漏洞,漏洞编号S2-04 ...

  6. ip 命令

    Linux的ip命令和ifconfig类似,但前者功能更强大,并旨在取代后者.使用ip命令,只需一个命令,你就能很轻松地执行一些网络管理任务.ifconfig是net-tools中已被废弃使用的一个命 ...

  7. Java中常见的排序方式-快速排序(升序)

    [基本思想] 快速排序在元素较多的情况下,排序效率是相当高的.其基本思想是这样: 假设数组为int[] arr = { 49, 38, 65, 97, 76, 13, 27, 22, 26, 41, ...

  8. Django1.11.7配置静态文件

    Django配置静态文件分为三步 1.建文件夹 2.设置setting 3.页面引用 1.文件目录结构 在APP下新建static文件夹,将js和css文件放入文件夹 2.配置settings.py ...

  9. JavaMelody 项目性能监控和调优工具

    转自 JavaMelody 可以实现对内存.CPU.线程.JDBC 连接数.HTTP 请求执行时间.SQL 执行时间(分析 Top SQL).方法执行时间(分析系统方法性能瓶颈)等等的监控. 配置方式 ...

  10. 066 基于checkpoint的HA机制实现

    1.说明 针对需要恢复的应用场景,提供了HA的的机制 内部实现原理:基于checkpoint的 当程序被kill的时候,下次恢复的时候,会从checkpoint对用的文件中进行数据的恢复 2.HA原理 ...