def modify_order(request, product_slug, template_name="checkout/modify_order.html"): """ view for each product page """ postdata = request.POST.copy() item_id = postdata['item_id'] product_cache_key = request.path # try to get product from cache p = cache.get(product_cache_key) # if a cache miss, fall back on db query if not p: p = get_object_or_404(Product.active, slug=product_slug) # store item in cache for next time cache.set(product_cache_key, p, CACHE_TIMEOUT) categories = p.categories.filter(is_active=True) page_title = p.name meta_keywords = p.meta_keywords meta_description = p.meta_description venue_id = categories[0].venue.id # evaluate the HTTP method, change as needed #create the unbound form. Notice the request as a keyword argument form = ProductAddToCartForm(request=request, label_suffix=':') # assign the hidden input the product slug form.fields['product_slug'].widget.attrs['value'] = product_slug # set test cookie to make sure cookies are enabled request.session.set_test_cookie() stats.log_product_view(request, p) # product review additions, CH 10 product_reviews = ProductReview.approved.filter(product=p).order_by('-date') review_form = ProductReviewForm() return render_to_response(template_name, locals(), context_instance=RequestContext(request))
def show_product(request, product_slug, template_name="catalog/show_product.html"): """ view for each product page """ product_cache_key = request.path # try to get product from cache p = cache.get(product_cache_key) # if a cache miss, fall back on db query if not p: p = get_object_or_404(Product.active, slug=product_slug) # store item in cache for next time cache.set(product_cache_key, p, CACHE_TIMEOUT) categories = p.categories.filter(is_active=True) venue_id = categories[0].venue.id page_title = p.name meta_keywords = p.meta_keywords meta_description = p.meta_description #create the unbound form. Notice the request as a keyword argument form = ProductAddToCartForm(request=request, label_suffix=':') # assign the hidden input the product slug form.fields['product_slug'].widget.attrs['value'] = product_slug # set test cookie to make sure cookies are enabled request.session.set_test_cookie() stats.log_product_view(request, p) return render_to_response(template_name, locals(), context_instance=RequestContext(request))