python - builtins.TypeError 类型错误
问题描述
我已经尝试了 100 次,我不知道这段代码有什么问题。有人请帮我解决这个问题或告诉我我在下面的代码中做错了什么。
每次我收到:
builtins.TypeError TypeError:getCategoryItems() 缺少 1 个必需的位置参数:'cat_id'
代码:
@app.route('/')
def getAllItems():
return redirect(url_for('getCategoryItems', category_name='ab', cat_id=1))
@app.route('/<string:category_name>/items/')
def getCategoryItems(category_name, cat_id):
id = cat_id;
items = session.query(Item).filter_by(category_id=id).all()
output = ''
for item in items:
output += item.title + '</br>'
return output
解决方案
您不需要 pass category_name
,您只需要类别 id。类别名称应包含在从数据库中获取的每个项目中。
您收到错误,因为cat_id
在调用函数时未定义def getCategoryItems(category_name, cat_id)
。
但是,如果您想真正让所有物品都可以使用,我建议您:
@app.route('/')
def getAllItems():
items = session.query(Item).all()
...
有关更多信息,请查看flask-sqlalchemy 文档。
推荐阅读
- amazon-web-services - AWS Kinesis S3 红移
- dataframe - 将行插入熊猫数据框中
- python - 在 Google Contacts API 调用中获取照片
- php - 我无法在我的个人 html 代码和 php 代码中显示我的朋友列表
- php - 如何基于多用户系统的防护将用户重定向到不同的页面?
- redis - 如何从redis位图中获取二进制字符串?
- javascript - 使用 requestanimationframe,分析显示 >80% 的时间花费在空闲上,仍然获得 4fps。为什么?(/怎么修?)
- p5.js - 如何在 p5.js 中执行操作步骤
- java - 在java中将字符串(日期)转换为毫秒时遇到困难
- javascript - AngularJS - 向服务器发送一个 dom 元素