20
loading...
This website collects cookies to deliver better user experience
user=request.user
. Open the bag/views.py file and update the index view function as:@login_required
def index(request):
date = request.GET.get('date')
if date:
items = Item.objects.filter(user=request.user, date=date).order_by('-id')
else:
items = Item.objects.filter(user=request.user).order_by('-id')
context = {
'items': items
}
return render(request, "index.html", context)
date
, we filter the items according to the date too. If not, we don't filter it.index.html
file as:{% extends "base.html" %}{% load static %}
{% block title %}View Bag{% endblock title %}
{% block content %}
<body>
<div class="container mt-5">
<!-- top -->
<div class="row">
<div class="col-lg-6">
<h1>View Grocery List</h1>
<a href="{% url 'add-item' %}">
<button type="button" class="btn btn-success">Add Item</button>
</a>
</div>
<div class="col-lg-6 float-right">
<form action="{% url 'index' %}" method="get">
<div class="row">
<div class="col-lg-6">
<!-- Date Filtering-->
<input type="date" name="date" class="form-control" />
</div>
<div class="col-lg-4">
<input type="submit" class="btn btn-danger" value="filter" />
</div>
<div class="col-lg-2">
<p class="mt-1"><a href="{% url 'signout' %}">Log Out</a></p>
</div>
</div>
</form>
</div>
</div>
<br>
{% include 'partials/alerts.html' %}
<!-- Grocery Cards -->
<div class="row mt-4">
<!-- Loop This -->
{% for item in items %}
<div class="col-lg-4 mb-3">
<div class="card">
<div class="card-body">
<h5 class="card-title">{{item.name}}</h5>
<h6 class="card-subtitle mb-2 text-muted">{{item.quantity}}</h6>
{% if item.status == 'PENDING' %}
<p class="text-info">{{item.status}}</p>
{% elif item.status == 'BOUGHT' %}
<p class="text-success">{{item.status}}</p>
{% else %}
<p class="text-danger">{{item.status}}</p>
{% endif %}
<div class="row">
<div class="col-md-6">
<a href="{% url 'update-item' item.id %}">
<button type="button" class="btn btn-primary">UPDATE</button>
</a>
</div>
<div class="col-md-6">
<a href="{% url 'delete-item' item.id %}">
<button type="button" class="btn btn-danger">DELETE</button>
</a>
</div>
</div>
</div>
</div>
</div>
{% endfor %}
</div>
</div>
</body>
{% endblock content %}