From f79c29b7e0ad7e0e0ec7ac70c19b7406019d03c6 Mon Sep 17 00:00:00 2001 From: Sharad Ahlawat Date: Tue, 10 Mar 2020 14:28:13 -0700 Subject: [PATCH] product upvote --- products/templates/products/detail.html | 8 +++++++- products/urls.py | 1 + products/views.py | 9 +++++++++ 3 files changed, 17 insertions(+), 1 deletion(-) diff --git a/products/templates/products/detail.html b/products/templates/products/detail.html index ce5e469..ad6e1c2 100644 --- a/products/templates/products/detail.html +++ b/products/templates/products/detail.html @@ -19,7 +19,7 @@
- +

@@ -37,4 +37,10 @@

{{ product.body }}

+ +
+ {% csrf_token %} + +
+ {% endblock %} diff --git a/products/urls.py b/products/urls.py index 58a455c..a4ecbd5 100644 --- a/products/urls.py +++ b/products/urls.py @@ -4,4 +4,5 @@ from . import views urlpatterns = [ path('create', views.create, name='create'), path('/', views.detail, name='detail'), + path('/upvote', views.upvote, name='upvote'), ] diff --git a/products/views.py b/products/views.py index 7a1b852..ffd1cf3 100644 --- a/products/views.py +++ b/products/views.py @@ -35,3 +35,12 @@ def create(request): def detail(request, product_id): product = get_object_or_404(Product, pk=product_id) return render(request, 'products/detail.html', {'product': product}) + + +@login_required() +def upvote(request, product_id): + if request.method == 'POST': + product = get_object_or_404(Product, pk=product_id) + product.votes_total += 1 + product.save() + return redirect('/products/' + str(product.id))