Flask入门:轻松掌握API路由定义

你是不是总觉得Flask路由定义复杂难记?事实上,超过80%的Python Web开发者首次接触Flask时都在路由配置上栽过跟头!
本文将从零开始讲解Flask路由的核心知识,重点演示常见API路由的定义方法,包括:

  • 基础路由配置

  • 动态URL参数处理

  • HTTP方法限定技巧

  • 完整可运行代码示例

✨ Flask路由是什么?

路由就像是Web应用的交通指挥系统,它决定了当用户访问某个URL时,应该执行哪段代码来响应请求。

🚀 基础路由定义

最简单的路由就是一个URL对应一个函数:

复制代码
@app.route('/')
def home():
    return '欢迎来到首页!'

🎯 动态路由参数

想要处理像/user/123这样的URL?使用动态参数

复制代码
@app.route('/user/<username>')
def show_user(username):
    return f'用户:{username}'

🔧 常见API路由类型

  • GET请求:获取数据

    @app.route('/api/users', methods=['GET'])
    def get_users():
    return {'users': ['张三', '李四']}

  • POST请求:创建数据

    @app.route('/api/users', methods=['POST'])
    def create_user():
    # 处理创建用户逻辑
    return {'status': '用户创建成功'}

  • 参数类型限定

    @app.route('/post/int:post_id')
    def show_post(post_id):
    return f'文章ID:{post_id}'

💡 完整代码示例

下面是一个完整的Flask应用示例:

复制代码
from flask import Flask, request

app = Flask(__name__)

@app.route('/')
def index():
    return '首页'

@app.route('/user/<username>')
def user_profile(username):
    return f'用户主页:{username}'

@app.route('/api/data', methods=['GET', 'POST'])
def handle_data():
    if request.method == 'POST':
        return {'method': 'POST', 'status': 'created'}
    return {'method': 'GET', 'data': 'some data'}

if __name__ == '__main__':
    app.run(debug=True)

喜欢本文?点赞👍收藏⭐,关注我,一起学习更多有用的知识,完善你的技能树!

相关推荐
s***353042 分钟前
Python中的简单爬虫
爬虫·python·信息可视化
money053444 分钟前
pytorch自定义backend
人工智能·pytorch·python
程序媛徐师姐1 小时前
Python基于Django的新闻发布类别自动识别系统【附源码、文档说明】
python·django·新闻发布类别自动识别系统·新闻发布类别自动识别·python新闻类别自动识别·pytho新闻类别识别系统·新闻发布类别识别系统
超级大福宝1 小时前
在 Linux 发行版中安装 Miniforge 并换源
python·conda·mamba
AI云原生1 小时前
Docker部署多个Python项目如何使用Nginx实现负载均衡的解决方案
python·nginx·docker·云原生·容器·kubernetes·负载均衡
有泽改之_1 小时前
Garmin FIT协议与FIT Activity文件类型
网络·python
a***97681 小时前
Python大数据可视化:基于大数据技术的共享单车数据分析与辅助管理系统_flask+hadoop+spider
大数据·python·信息可视化
love530love1 小时前
【笔记】解决 Stable Diffusion WebUI 启动 “找不到llama_cpp模块”
运维·windows·笔记·python·stable diffusion·github·llama
h***67371 小时前
Flask:后端框架使用
后端·python·flask