python - 当只有一个项目要迭代时,我可以避免使用循环吗?
问题描述
我有一个 Django 拍卖项目(CS50 课程作业),并且在 views.py 中有以下功能:
def show_item(request, items):
items = Listing.objects.filter(item = items)
for item in items:
ends = item.date + timedelta(days=7)
return render(request, "auctions/show_item.html",{
"items":items, "ends": ends
})
这允许我显示项目及其结束日期。我的问题是,由于循环中只有一个迭代(我在模板视图上显示一个待拍卖的物品),没有更清洁的方法吗
ends = item.date + timedelta(days=7)
?
(即只需要获取模型中的item date字段)不需要for循环?我试过了 :ends = items.date + timedelta(days=7)
但得到一个错误?谢谢罗素
解决方案
您可以使用 [0] 引用第一项:
ends = items[0].date + timedelta(days=7)
推荐阅读
- javascript - 将值分配给稍后将在不同脚本调用中使用的变量的正确方法是什么?
- php - 将firestore中的数据放入下一个php文件
- python-3.x - 如何在不使用任何库的情况下将 django rest 框架中的日志捕获到数据库?
- javascript - 使用 Response() 发送图像文件
- python - 如何划分两个列表的每个数字?
- node.js - 部署 github repo with herouku get error: at=error code=H10 desc="App crashed" method=GET path="/"
- firebase - 由链接检查器机器人验证的 firebase 电子邮件
- r - 如何在 R 中绘制线性函数
- javascript - 我是 google Dialogflow 的新手,我正在尝试用 enity 映射训练短语
- c# - Windows 身份验证和 UserPrincipal 在 Windows-on-Windows Docker 容器中不起作用