Flask路由基础

前往我的主页以获得更好的阅读体验Flask路由基础 - DearXuan的主页icon-default.png?t=M276https://blog.dearxuan.com/2022/02/24/Flask%E8%B7%AF%E7%94%B1%E5%9F%BA%E7%A1%80/

Flask路由

Flask是较为热门的用python编写的Web应用框架,它能够根据路由自动将请求分配给对应的函数,使得程序员能够专注于功能,而不是繁琐的底层协议

Flask示例

下面的代码创建了一个Flask应用,并返回一个欢迎页面

from flask import Flask, render_template
app = Flask(__name__)

@app.route('/')
def main_web():
    return 'hello world'

if __name__ == '__main__':
    app.run(host="127.0.0.1",port=8080)

Flask路由

Flask会自动将不同的路由解析到对应的函数,你需要使用route()装饰器来绑定路由和函数

下面的代码将根目录绑定至 main() 函数

@app.route('/')
def main():
    return 'hello world'

只要稍微修改以下装饰器,就可以把 "/main" 路由绑定至 main() 函数

@app.route('/main')
def main():
    return 'hello world'

路由中可以加入变量,以便于将具体路由以参数形式传递到绑定的函数中

例如下面的代码,如果访问 "localhost:8080/hello",则变量 name == "hello"

@app.route('/<name>')
def main1(name):
    return name

你也可以指定参数类型,例如整型

@app.route('/<int:id>')
def main1(id):
    return str(id)

如果路由为 “localhost:8080/abc”,则Flask会跳过该函数,寻找下一个匹配的路由

使用字典可以方便地传入多个参数

@app.route('/<name>/<int:id>')
def main(**dic):
    return '''
name= %s<br/>
id  = %d
''' % (dic['name'], dic['id'])

模板

在项目根目录下创建 template 文件夹,并添加一个 index.html文件

在代码中使用模板

@app.route("/")
def index():
    return render_template("index.html")

在模板中使用 “{{ }}” 可以标注一个变量,并在函数中传入该变量

<!DOCTYPE html>
<html lang="zh">
<head>
    <meta charset="UTF-8">
    <title>Template</title>
</head>
<body>
{{ value }}
</body>
</html>
@app.route("/")
def index():
    return render_template("index.html",value="dearxuan")

html中的变量会被直接替换为对应的字符串,且会被自动转义

阅读终点,创作起航,您可以撰写心得或摘录文章要点写篇博文。去创作
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Dear_Xuan

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值