python-3.x - 重复循环
问题描述
我有一个项目,我使用嵌套的 for 循环来过滤项目,但结果不断重复出现不应该这样的项目。请问,我哪里弄错了?
def order_list(request):
orders = Order.objects.all()
current_user = request.user
user_list = orders.filter(user=current_user.id)
success = orders.filter(paid=True)
fail = orders.filter(paid=False)
return render(request, 'orders/order/order_list.html', {
'orders': orders,
'success': success,
'fail': fail,
'user_list':user_list,
'current_user':current_user,
})
html
{% for ls in orders %}
{% for x in user_list %}
{% for od in success %}
<div class="card mb-3" style="max-width: 540px;">
<div class="row no-gutters">
<div class="col-md-3">
<img alt="product img" class="card-img" src="...">
</div>
<div class="col-md-9">
<div class="card-body" style="position: relative;">
<h5 class="card-title">Product {{ od.id }}</h5>
<a href="#" style="position: absolute; top: 5px; right: 5px;">View
Details</a>
<p class="card-text">Transaction ID</p>
<p class="card-text"><small class="text-muted">Delivered at
{{od.reference_id}}</small></p>
</div>
</div>
</div>
</div>
{% endfor %}
{% endfor %}
{% endfor %}
解决方案
您正在做许多不合逻辑的事情,将所有内容放在一个上下文中会更容易:
def order_list(request):
template_name = 'orders/order/order_list.html'
user = request.user
orders = Order.objects.filter(user=user).filter(paid=True)
return render(request, template_name, {
'orders': orders
})
你的模板会是这样的:
{% for order in orders %}
<div class="card mb-3" style="max-width: 540px;">
<div class="row no-gutters">
<div class="col-md-3">
<img alt="product img" class="card-img" src="...">
</div>
<div class="col-md-9">
<div class="card-body" style="position: relative;">
<h5 class="card-title">Product {{ order }}</h5>
<a href="#" style="position: absolute; top: 5px; right: 5px;">View
Details</a>
<p class="card-text">Transaction ID</p>
<p class="card-text"><small class="text-muted">Delivered at
{{ order.reference }}</small></p>
</div>
</div>
</div>
</div>
{% endfor %}
这将对您有所帮助,您没有添加模型,所以我根据我看到的字段假设数据
推荐阅读
- javascript - 每当加载新页面时,将 chrome 扩展程序写入 console.log 活动选项卡 URL
- c++ - 测量 C++ 中数据排序的性能
- html - 用 NgClass 悬停一个 div
- php - 如何在页面字幕中显示当前日期?(wordpress主题“故事”)
- python - 无效的格式字符串 Tensorboard
- sql - 使用 Postgres 按月汇总列值和分组日期
- jquery - jquery tagit:如果有自定义自动完成源,则使用标签进行预填充
- javascript - 如何编辑本地存储值反应?
- c++ - 是否有 GetFullPathName 的线程安全版本?
- python - 将 numpy ComplexWarning 捕获为异常