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

相关推荐
计算机学姐9 分钟前
基于SpringBoot的高校论坛系统【2026最新】
java·vue.js·spring boot·后端·spring·java-ee·tomcat
信创天地23 分钟前
信创国产化数据库的厂商有哪些?分别用在哪个领域?
数据库·python·网络安全·系统架构·系统安全·运维开发
不哦罗密经38 分钟前
python相关
服务器·前端·python
happybasic41 分钟前
python字典中字段重复性的分析~~
开发语言·python
山海青风1 小时前
人工智能基础与应用 - 数据处理、建模与预测流程 6 模型训练
人工智能·python·机器学习
Victor3561 小时前
Hibernate(13) Hibernate的一级缓存是什么?
后端
l木本I1 小时前
Reinforcement Learning for VLA(强化学习+VLA)
c++·人工智能·python·机器学习·机器人
毕设源码-赖学姐1 小时前
【开题答辩全过程】以 基于SpringBoot的健身房管理系统的设计与实现为例,包含答辩的问题和答案
java·spring boot·后端
Victor3561 小时前
Hibernate(14)什么是Hibernate的二级缓存?
后端
czlczl200209251 小时前
SpringBoot自动配置AutoConfiguration原理与实践
开发语言·spring boot·后端