ネストされたforループを使用してアイテムをフィルタリングするプロジェクトがありますが、結果は、そうではないはずのアイテムを繰り返し続けます。pls、私はそれをどこで間違えましたか?
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 %}
これはあなたを助けます、あなたはあなたのモデルを追加しなかったので、私は私が見たフィールドに従ってデータを仮定しました
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加