【Flask路由系统】 򃗾

目录

  • 动态路由参数
  • 路由参数
    • methods
    • endpoint
    • defaults
    • strict_slashes
    • redirect_to
    • subdomain

原文: http://blog.gqylpy.com/gqy/337

"@(Flask路由)
***

动态路由参数

三种用法

  1. <int:xx> 要求输入的url必须是可转换为int类型的
  2. <string:xx> 要求输入的url必须是可转换为String类型
  3. <xx> 默认使用的是可转换为String类型的

开始测试

代码如下:

from flask import Flask

app = Flask(__name__)

# @app.route('/test/<int:xx>')  # int:要求输入的url必须是可转换为int类型的
# @app.route('/test/<string:xx>')  # string:要求输入的url必须是可转换为String类型
@app.route('/test/<xx>')  # 默认是可转换为String类型的
def test(xx):  # 别忘了接收路由参数
    print(xx)
    return f'{xx}'  # Python3.6新特性,见下面的解释

app.run(debug=True)

# Python3.6新特性:
a = 1
print(f'{a}')  # 打印结果:1

浏览器访问:

***

路由参数

methods

用于重新定义允许的请求,默认为GET

示例:

# 将允许"GET", "POST"请求:
@app.route('/test01', methods=['GET', 'POST'])
def test01():
    pass

endpoint

用于定义反向url地址,默认为视图函数名。

开始测试

代码如下:

from flask import Flask, url_for, redirect

app = Flask(__name__)

@app.route('/test02', endpoint='test2')  # endpoint='test2':定义url地址别名,默认为函数名(test02)
def test02():
    print(url_for('test2'))  # /test02
    return 'This is test02'

@app.route('/test03')
def test03():
    return redirect(url_for('test2'))  # 将跳转至test02页面

app.run(debug=True)

此时,浏览器访问 test03 页面,将跳转到 test02 页面。
***

defaults

用于定义视图函数的默认值(例如:{id: 1})。

开始测试

代码如下:

@app.route('/test04', defaults={'id': 1})
def test04(id):
    print(id)
    return f'The id is {id}.'

浏览器访问:


strict_slashes

用于控制url地址结尾符:
值为True时:结尾不能是"/"
值为False时:无论结尾"/"是否存在,都可访问"/

示例代码

# @app.route('/test05', strict_slashes=False)
@app.route('/test05', strict_slashes=True)  # 此时url结尾不能是"/"
def test05():
    return 'test05'


redirect_to

用于url地址重定向
将直接跳转,连当前url的视图函数都不走

@app.route('/test06', redirect_to='/test07')  # redirect_to='/test07':将跳转至test07
def test06():
    return 'test06'

@app.route('/test07')
def test07():
    return 'test07'

此时,浏览器访问 test06 页面,将直接跳转到 test07 页面。
***

subdomain

用于定义子域名前缀,同时还需要指定app.config[‘SERVER_NAME‘]的值

app.config['SERVER_NAME'] = 'zyk.com'  # ??

@app.route('/test08', subdomain='blog')  # ??
def test08():
    return "Welcome to zyk's blog"

app.run('0.0.0.0', 5000, debug=True)  # 使用域名时,必须指定监听的ip

# 访问地址为:blog.zyk.com/test08

"

原文: http://blog.gqylpy.com/gqy/337

原文地址:https://www.cnblogs.com/bbb001/p/11372231.html

时间: 2024-08-21 21:45:27

【Flask路由系统】 򃗾的相关文章

【Flask路由系统】 -- 2019-08-11 19:11:52

目录 动态路由参数 路由参数 methods endpoint defaults strict_slashes redirect_to subdomain 原文: http://106.13.73.98/__/112/ @(Flask路由) *** 动态路由参数 三种用法 <int:xx> 要求输入的url必须是可转换为int类型的 <string:xx> 要求输入的url必须是可转换为String类型 <xx> 默认使用的是可转换为String类型的 开始测试 代码如

Flask最强攻略 - 跟DragonFire学Flask - 第七篇 Flask 中路由系统

Flask中的路由系统其实我们并不陌生了,从一开始到现在都一直在应用 @app.route("/",methods=["GET","POST"]) 为什么要这么用?其中的工作原理我们知道多少? 请关注跟DragonFire学Flask 之 路由系统 ,这里有你想要的答案 1. @app.route() 装饰器中的参数 如果不明白装饰器 点击这里 methods : 当前 url 地址,允许访问的请求方式 @app.route("/inf

Flask第六篇 Flask中路由系统

Flask中的路由系统其实我们并不陌生了,从一开始到现在都一直在应用 @app.route("/",methods=["GET","POST"]) 为什么要这么用?其中的工作原理我们知道多少? 请关注跟DragonFire学Flask 之 路由系统 ,这里有你想要的答案 1. @app.route() 装饰器中的参数 如果不明白装饰器 点击这里 methods : 当前 url 地址,允许访问的请求方式 @app.route("/inf

Flask系列 路由系统

Flask路由系统细分 from flask import Flask app = Flask(__name__) @app.route('/') def index(): return 'ok' if __name__ == '__main__': app.run() 从这个简单的代码入口,来剖析一下路由@app.route('/') route():就是一个加在index()上的装饰器 ?```python def route(self, rule, **options): # rule:匹

Flask之基于route装饰器的路由系统(源码阅读解析)

一 路由系统 1. 在flask中配置URL和视图函数的路由时,首先需要在main.py中实例化一个app对象: 1 from flask import Flask, render_template 2 3 app = Flask(__name__) 2. 然后通过app实例的route方法装饰视图函数,实现路由的配置: 1 @app.route('/') 2 def hello_world(): 3 return 'Hellow World!' 3. 所有这里需要关注在Flask类里定义的ro

第六篇 Flask中的路由系统

Flask中的路由系统其实我们并不陌生了,从一开始到现在都一直在应用 @app.route("/",methods=["GET","POST"]) 为什么要这么用?其中的工作原理我们知道多少? 一.@app.route() 装饰器中的参数 methods :当前 url 地址,允许访问的请求方式 @app.route("/info", methods=["GET", "POST"]) d

Flask中的路由系统

Flask中的路由系统其实我们并不陌生了,从一开始到现在都一直在应用 @app.route("/",methods=["GET","POST"]) 至于为什么这么使用,马上开始介绍 [email protected]() 装饰器中的参数 (1).methods: 当前url地址,允许访问的请求方式,默认支持"GET", 如果想加入新的请求方式,就必须加上"GET" USER = {"usernam

11.2 Flask 配置文件,路由系统

配置文件系统 自定义配置文件 创建一个 setting.py 用于存放配置文件的相关属性 配置文件中可以进行分级继承来区分不同视图的配置文件设置 默认配置文件放在项目根路径下 # settings.py class Base(object): # 所有的都要有用到的配置更改 TEST = True class Dev(Base): DEV = True class Pro(Base): PRO = True 配置文件的设置方式 常用的是以下三种 # 方式1 直接更改 app.config["要更

Flask框架(二)—— 反向解析、配置信息、路由系统、模板、请求响应、闪现、请求扩展、session

目录 反向解析.配置信息.路由系统.模板.请求响应.闪现.session 一.反向解析 1.什么是反向解析 2.使用 二.配置信息 1.默认配置 2.修改方法一--点的方式修改 3.修改方法二--利用字典修改 4.修改方法三--通过py文件修改(常用) 5.修改方法四--利用类或类的路径修改(常用) 6.其他方法修改配置 三.路由系统 1.基本写法 2.转换器 3.路由本质 4.CBV 5.自定义支持正则 四.模板 五.请求与响应 六.session 七.闪现(flash) 1.使用 2.示例