Flask之路由

本文介绍了Flask框架中注册路由、指定HTTP方法以及动态匹配URL的方法,详细讲解了如何在Flask应用中设置和使用路由。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

路由在MVC架构的web架构中重要的概念:在Flask框架中,路由表示用户请求的URL找出其对应的处理函数

1、注册路由

用户请求的URL与视图函数之间的映射,flask框架根据HTTP请求的URL在路由表中匹配预定义的URL规则,
找到对应的视图函数,并将函数执行的结果返回给服务器,route装饰器:绑定url规则与视图函数
from flask import Flask
# 导入了类 Flask ,这个类的实例化是WSGI 应用。第一个参数是应用模块的名称。
# 如果你使用的是单一的模块(就如本例),第一个参数应该使用 __name__。
# 因为取决于如果它以单独应用启动或作为模块导入, 名称使用 '__main__' 。
app=Flask(__name__)
# 使用装饰器 route() 告诉 Flask 哪个 URL 才能触发函数
@app.route('/')
# 定义一个函数,该函数名也是用来给特定函数生成 URLs,并且return返回显示在用户浏览器上的信息。
def helloword():
    return 'hello world!'
# 用函数 run() 启动本地服务器来运行我们的应用
app.run()

2、为路由指定其支持的HTTP方法:get/post

通过methods=['POST','GET']指定其能够支持的多种方法,指定跳转过程中的请求方式
from flask import Flask
app=Flask(__name__)
@app.route('/html',methods=['post'])
def hello_word():
    return 'post方法'
@app.route('/')
def hello_word_1():
    return '''
    <form action='/html' method='post'>
    名字:<input type='text' name='name'></input><br\>
    密码:<input type='passwd' name='passwd'></input><br\>
    提交:<input type='submit' name='submit'></input>
    </form>
    '''
app.run()


3、如何动态匹配URL

URL变量:用<>指定变量,默认情况下变量被视为不包含/的字符串
使用path转换器告诉flask对象,改变这一默认的行为
path:可以使用/作为URL规则的字符串
常见转换器:
           string:不包含/
           path:包含/
           int:只用URL中的变量是整数型时才匹配,并将变量装换为int型
           float:只有URL中的变量是浮点型时才匹配,并将变量转换为float型。
并且该变量与视图函数的参数一致
from flask import Flask
app = Flask(__name__)
@app.route('/index')
def index():
    return '''
    <ul>
    <li><a href='/user/MS/friend/X'>here1</a></li>
    <li><a href='/user/Kobe/friend/Y'>here2</a></li>
    <li><a href='/user/Jarden/friend/Z'>here3</a></li>
    </ul>
    '''
@app.route('/user/<uname>/friend/<fname>')
def uf(uname,fname):
    return "%s\'s friend - %s\'s danggan"%(uname,fname)
if __name__ == '__main__':
    app.run(debug=True)



















评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值