flask中路由route根据字典ID展示部分内容,字典名展示全部内容

python 复制代码
from flask import Flask, jsonify , request,render_template,

app = Flask(__name__)

app.config['JSON_AS_ASCII'] = False
 
books = [
    {"id": 1, "name": '三国演义'},
    {"id": 2, "name": '水浒传'},
    {"id": 3, "name": '西游记'},
    {"id": 4, "name": '红楼梦'},
]
 
 
@app.route('/')
def hello_world():
    return 'hello world'
 
 
@app.route('/books/list')
def book_list():
    # return books  # 直接返回books会报错的,类型格式不支持
    return jsonify(books) # 直接返回books会报错的,类型格式不支持
'''
@app.route('/book/<int:book_id>')#根据id获取字典里其中一个值
def book_detail(book_id):
    for book in books:
        if book_id == book['id']:
            return book
    return f"id:{book_id}的图书不存在!"
'''
@app.route('/book/<int:book_id>')#根据id获取字典里其中一个值
def book_detail(book_id):
    for book in books:
        if book_id == book['id']:
            return book
    if book_id != book['id'] :#这里book_id != book 不能和book_id == book 放在同一级(判断会出错,除了1,其他id都会报不存在:因为在同一级, book_id 与 book['id']会一直不等),
        return f"id:{book_id}的图书不存在!"


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

http://127.0.0.1:5000/books/list

http://127.0.0.1:5000/book/1

http://127.0.0.1:5000/book/9

相关推荐
白白糖21 分钟前
相同,对称,平衡,右视图(二叉树)
python·算法·二叉树·力扣
学习baba酱1 小时前
关于Python+selenium+chrome编译为exe更换电脑无法打开问题
chrome·python·selenium
几道之旅1 小时前
pytdx数据获取:在线获取和离线获取(8年前的东西,还能用吗?)
python
jay神2 小时前
基于Python+YOLO模型的手势识别系统
开发语言·python·深度学习·yolo·手势识别系统
点云兔子2 小时前
使用 OpenCV 实现 ArUco 码识别与坐标轴绘制
人工智能·python·opencv
Themberfue2 小时前
RabbitMQ ⑥-集群 || Raft || 仲裁队列
linux·运维·分布式·后端·rabbitmq·ruby
覆东流3 小时前
Python语法特点与编码规范
python
Want5954 小时前
Python炫酷烟花
开发语言·python·pygame
老歌老听老掉牙4 小时前
Python 脚本执行命令的深度探索:方法、示例与最佳实践
python·命令
L_cl4 小时前
【Python 算法零基础 4.排序 ⑤ 归并排序】
python·算法·排序算法