Flask路由

@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)  # 1
    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)

原文地址:https://www.cnblogs.com/wanglan/p/10559314.html

时间: 2024-10-30 05:12:42

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路由系统】 &#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类型的

flask路由和视图和cookie

什么是路由 """ 客户端(例如web浏览器)把请求发送给Web服务器,Web服务器再把请求发送给Flask程序实例. 程序实例需要知道对每个URL请求运行那些代码,所以保存了一个URL到Python函数的映射关系. 处理URL和函数之间关系的程序称之为路由. """ 看个简单完整的的例子 #!/usr/bin/env python # -*- coding:utf-8 -*- from flask import Flask app = Flas

Flask - 路由

一. 路由和响应函数(View function)的映射是通过装饰器实现的 1. """ #装饰器: def wrapper(func): def inner(*args, **kwargs): return func(*args, **kwargs) return inner @wrapper 相当于 index = wrapper(index) def index(request): pass """ # app.route('path')将

flask 路由规划(blueprint)

# 统一路由蓝牙规划 # file:blueprint_route.py from flask import Blueprint route_test = Blueprint("home",__name__) # 路由只有通过app注册后才生效 """ 统一路由规划的优点: 统一前缀 当网站结构复杂后可维护 """ @route_test.route("/") def home(): return &quo

Flask路由+视图补充

一.路由设置的两种方法 1.装饰器 @app.route('/index/') def index(): return 'Hello World!' 2.源码 route->decorator->add_url_rule(rule, endpoint, f, **options) def index(): return 'Hello World!' app.add_url_rule('/index/', None, index) 注意:endpoint的值不能一致 二.参数 rule URL规

Flask快速入门(3) — flask路由的本质

目录 route():就是一个加在index()上的装饰器 add_url_rule():将匹配规定与视图函数的对应关系添加到路由 总结: from flask import Flask app = Flask(__name__) @app.route('/') def index(): return 'ok' if __name__ == '__main__': app.run() 从这个简单的代码入口,来剖析一下路由@app.route('/') route():就是一个加在index()上

flask路由规划蓝图和route

引言: 在写任何web项目的时候路由的配置永远都是不可或缺的,如django中的include方法flask中的Blueprint这些都是用于将多个application中的路由区别开来,如果你要使用restful风格,那么这种路由一定是必须做的,很多教程在编写代码会在每一个视图函数上面写清楚完整的路径,包括请求的参数.以及请求的方法,其实就是为了达到这样的目的 在flask中当一个庞大的系统中有很多小模块,在分配路由的时候怎么处理呢?全部都堆到一个py程序中,调用@app.route? 显然这

Flask路由之重定向

Flask框架提供了请求重定向功能,只需要使用 redirect_to即可, 示例代码如下: from flask import Flask, render_template, request, redirect, session app = Flask(__name__) app.secret_key = 'flask' app.debug = True """ redirect_to: 会将请求index 重定向到index2 """ @ap