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

目录

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

原文: http://106.13.73.98/__/112/

@(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://106.13.73.98/__/112/

原文地址:https://www.cnblogs.com/gqy02/p/11336205.html

时间: 2024-11-09 06:25:57

【Flask路由系统】 -- 2019-08-11 19:11:52的相关文章

11.18 Apache用户认证11.19 11.20 域名跳转11.21 Apache访问日志

11.18 Apache用户认证更改虚拟主机内容vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf增加用户名与密码? /usr/local/apache2.4/bin/htpasswd -c -m /data/.htpasswd aming-c是创建 -m指定类型查看生成的密码文档内容上面已经他去了.htpasswd目录,再创建用记就不需要-c在wi上指定域名hostsC:\Windows\System32\drivers\etc认证:没有

【Flask路由系统】 &#538110;

目录 动态路由参数 路由参数 methods endpoint defaults strict_slashes redirect_to subdomain 原文: http://blog.gqylpy.com/gqy/337 "@(Flask路由) *** 动态路由参数 三种用法 <int:xx> 要求输入的url必须是可转换为int类型的 <string:xx> 要求输入的url必须是可转换为String类型 <xx> 默认使用的是可转换为String类型的

11.18 Apache用户认证 11.19/11.20 域名跳转 11.21 Apache访问日志

[[email protected] abc.com]# /usr/local/apache2.4/bin/htpasswd -c -m /data/.htpasswd amingNew password: Re-type new password: Adding password for user aming [[email protected] abc.com]# cat /data/.htpasswd aming:$apr1$zwiDnzEZ$JSD12PoIVH90Sry//fz3T.

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:匹

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之基于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

Update 19.11 for Azure Sphere

今天,微软发布了面向Azure Sphere的19.11更新,其主要亮点就是加入了对开发工具Visual Studio Code和Linux开发环境的支持.具体来讲,本次更新包含3个部分: 1. Azure Sphere 系统. This quality release fixes an error in I2C reads that was reported on MSDN and an error in which SPI reads or writes may cause the syst