def QuickView(request, slug, *args, **kwargs): instance = get_object_or_404(Product, slug=slug) context = {'p': instance} object_viewed_signal.send(instance.__class__, instance=instance, request=request) return render(request, 'product/quickview.html', context)
def get_context_data(self, *args, **kwargs): context = super(ObjectViewedMixin, self).get_context_data(*args, **kwargs) request = self.request instance = context['object'] if instance: object_viewed_signal.send(instance.__class__, instance=instance, request=request) return context
def DeatilView(request, slug, *args, **kwargs): instance = get_object_or_404(Product, slug=slug) cart_obj, new_obj = Cart.objects.new_or_get(request) context = {'p': instance, 'cart': cart_obj} object_viewed_signal.send(instance.__class__, instance=instance, request=request) return render(request, 'product/detail.html', context)
def get_context_data(self, *args, **kwargs): context = super(ObjectViewedMixin, self).get_context_data(*args, **kwargs) request = self.request instance = context.get('object') if request.user.is_authenticated: object_viewed_signal.send(instance, instance=instance, request=request) return context
def pro_details(request, **kwargs): pro_id = kwargs['pk'] qs = Product.objects.filter(pk=pro_id) cart = Cart.objects.new_or_get(request) if qs.first() is None: return render(request, 'details.html', {'empty': 'No Such Product'}) if request.user.is_authenticated: object_viewed_signal.send(qs.first().__class__, instance=qs.first(), request=request) return render(request, 'details.html', {'qs': qs, 'cart': cart[0]})
def featured_view(request, pk=None, *args, **kwargs): try: obj = Product.objects.get(id=pk, featured=True) except Product.DoesNotExist: print('this is not featured') obj = '' context = {'object': obj} object_viewed_signal.send(instance.__class__, instance=obj, request=request) return render(request, 'product/detail.html', context)
def product_detail(request, id=None): context = {} try: product = Product.objects.get(pk=id) context = {'product': product} object_viewed_signal.send(product.__class__, instance=product, request=request) except Product.DoesNotExist: return HttpResponse( '<!DOCTYPE html> <html> <head> <title>Page Not Found </title> <meta http-equiv = "refresh" content = "2; url = /products/product_list/" /> </head> <body> <h1> Error 404!</h1> <h2>Page Not Found</h2> </body> </html>' ) return render(request, 'detail.html', context)
def accessoire_computer_detail(request, pk=None, slug=None, *args, **kwargs): product = get_object_or_404(Product, pk=pk, slug=slug) cart_obj, new_obj = Cart.objects.new_or_get(request) try: accessoire_computer = AccessoireComputer.objects.get( product_id=product.id) except AccessoireComputer.MultipleObjectsReturned: accessoire_computer = AccessoireComputer.objects.filter( product_id=product.id).first() except AccessoireComputer.DoesNotExist: pass except: print("Autre erreur non liée à la laison") if product: object_viewed_signal.send(product.__class__, instance=product, request=request) if product in cart_obj.products.all(): quantite = cart_obj.quantite[str(product.id)] else: quantite = "1" stock_list = range(product.stock) if request.user.is_authenticated: views = request.user.objectviewed_set.by_model( Product, model_queryset=True ).exclude( id=product.id ) #all().filter(content_type__name="product"), l'exclude permet d'enlever les produit encours puisque de toutes les façons il est déjà afficher else: views = None context = { "cart": cart_obj, "product": product, "accessoire_computer": accessoire_computer, "quantite": quantite, "stock_list": stock_list, "views": views, } return render(request, "products/accessoire_cumputer_detail.html", context)
def product_detail(request, *args, **kwargs): slug = kwargs.get('slug') try: instance = Product.objects.get(slug=slug) cart_obj = Cart.objects.new_or_get(request=request) except: raise Http404("Product Doesn't Exists.") context = { "product": instance, "cart": cart_obj, "prod_views_dict": product_total_views() } object_viewed_signal.send(instance.__class__, instance=instance, request=request) return render(request, "products/product_detail.html", context=context)
def product_details_by_slug(request, slug): '''This is the actual detail view that I am using''' try: object = get_object_or_404(Product, slug=slug) except Product.DoesNotExist: raise Http404("The Product You are searching for does not exists") except Product.MultipleObjectsReturned: queryset = Product.objects.filter(slug=slug, is_active=True) object = queryset.last() except: raise Http404("Ahhh I got a Headache Sorry!!!") object_viewed_signal.send(object.__class__, instance=object, request=request) context = {'object': object} return render(request, 'products/product_detail.html', context)
def post_detail_view(request, pk): post = get_object_or_404(Post, id=pk) comments = Comment.objects.filter( post=post).order_by('-id').filter(parent=None) if request.method == 'POST': comment_form = CommentForm(request.POST or None) if comment_form.is_valid(): content = request.POST.get('content') name = request.POST.get('name') email = request.POST.get('email') try: parent_id = int(request.POST.get('parent_id')) except: parent_id = None parent_obj = None if parent_id: parent_qs = Comment.objects.get(id=parent_id) if parent_qs: parent_obj = parent_qs comment = Comment.objects.create( post=post, content=content, name=name, email=email, parent=parent_obj) comment.save() messages.success( request, 'Your comment has been posted!') return redirect(reverse('blog:post-detail', kwargs={'pk': post.pk})) else: comment_form = CommentForm context = { 'post': post, 'comments': comments, 'comment_form': comment_form, } object_viewed_signal.send(post.__class__, instance=post, request=request) return render(request, 'blog/post_detail.html', context)
def product_detail_view(request, slug=None, pk=None, *args, **kwargs): instance = Product.objects.get_by_slug_id(slug, pk) instance_image = ProductFile.objects.filter(product_id=instance.id) cart_obj, new_obj = Cart.objects.new_or_get(request) if instance: object_viewed_signal.send(instance.__class__, instance=instance, request=request) context = { "object": instance, "instance_image": instance_image, "cart": cart_obj, } return render(request, "products/detail.html", context)