def registration_view(request): try: cart_id = request.session['cart_id'] cart = Cart.objects.get(id=cart_id) request.session['total'] = cart.items.count() except: cart = Cart() cart.save() cart_id = cart.id request.session['cart_id'] = cart_id cart = Cart.objects.get(id=cart_id) form = RegistrationForm(request.POST or None) if form.is_valid(): new_user = form.save(commit=False) username = form.cleaned_data['username'] password = form.cleaned_data['password'] email = form.cleaned_data['email'] new_user.username = username new_user.set_password(password) new_user.email = email new_user.save() login_user = authenticate(username=username, password=password) if login_user: login(request, login_user) return HttpResponseRedirect(reverse('index')) context = { 'form': form, 'cart': cart, } return render(request, 'test_shop_app/registration.html', context)
def cart_view(request): try: cart_id = request.session['cart_id'] cart = Cart.objects.get(id=cart_id) request.session['total'] = cart.items.count() except: cart = Cart() cart.save() cart_id = cart.id request.session['cart_id'] = cart_id cart = Cart.objects.get(id=cart_id) context = {'cart': cart} return render(request, 'test_shop_app/cart.html', context)
def checkout_view(request): try: cart_id = request.session['cart_id'] cart = Cart.objects.get(id=cart_id) request.session['total'] = cart.items.count() except: cart = Cart() cart.save() cart_id = cart.id request.session['cart_id'] = cart_id cart = Cart.objects.get(id=cart_id) form = OrderForm(request.POST or None) context = {'form': form, 'cart': cart} return render(request, 'test_shop_app/checkout.html', context)
def shop_view(request, shop_slug): try: cart_id = request.session['cart_id'] cart = Cart.objects.get(id=cart_id) request.session['total'] = cart.items.count() except: cart = Cart() cart.save() cart_id = cart.id request.session['cart_id'] = cart_id cart = Cart.objects.get(id=cart_id) shop = Shop.objects.get(slug=shop_slug) context = {'cart': cart, 'shop': shop} return render(request, 'test_shop_app/store1.html', context)
def product_view(request, product_slug): try: cart_id = request.session['cart_id'] cart = Cart.objects.get(id=cart_id) request.session['total'] = cart.items.count() except: cart = Cart() cart.save() cart_id = cart.id request.session['cart_id'] = cart_id cart = Cart.objects.get(id=cart_id) product = Product.objects.get(slug=product_slug) context = {'product': product, 'cart': cart} return render(request, 'test_shop_app/shop-single.html', context)
def index_view(request): try: cart_id = request.session['cart_id'] cart = Cart.objects.get(id=cart_id) request.session['total'] = cart.items.count() except: cart = Cart() cart.save() cart_id = cart.id request.session['cart_id'] = cart_id cart = Cart.objects.get(id=cart_id) categories = Category.objects.all() products = Product.objects.all() context = {'categories': categories, 'products': products, 'cart': cart} return render(request, 'test_shop_app/index.html', context)
def category_view(request, category_slug): try: cart_id = request.session['cart_id'] cart = Cart.objects.get(id=cart_id) request.session['total'] = cart.items.count() except: cart = Cart() cart.save() cart_id = cart.id request.session['cart_id'] = cart_id cart = Cart.objects.get(id=cart_id) categories = Category.objects.all() category = Category.objects.get(slug=category_slug) product_in_category = Product.objects.filter(category=category) context = { 'cart': cart, 'categories': categories, 'category': category, 'product_in_category': product_in_category } return render(request, 'test_shop_app/category.html', context)
def success(request, usermail): try: cart_id = request.session['cart_id'] cart = Cart.objects.get(id=cart_id) request.session['total'] = cart.items.count() except: cart = Cart() cart.save() cart_id = cart.id request.session['cart_id'] = cart_id cart = Cart.objects.get(id=cart_id) htmly = get_template('test_shop_app/letter.html') context = { 'cart': cart, } data = htmly.render(context) send_mail('Welcome!', data, "*****@*****.**", [usermail], fail_silently=False) return render(request, 'test_shop_app/thankyou.html')
def add_to_cart_view(request, product_slug): try: cart_id = request.session['cart_id'] cart = Cart.objects.get(id=cart_id) request.session['total'] = cart.items.count() except: cart = Cart() cart.save() cart_id = cart.id request.session['cart_id'] = cart_id cart = Cart.objects.get(id=cart_id) product = Product.objects.get(slug=product_slug) new_item, _ = CartItem.objects.get_or_create(product=product, item_total=product.price) if new_item not in cart.items.all(): cart.items.add(new_item) cart.save() return HttpResponseRedirect('/cart/')
def remove_from_cart_view(request, product_slug): try: cart_id = request.session['cart_id'] cart = Cart.objects.get(id=cart_id) request.session['total'] = cart.items.count() except: cart = Cart() cart.save() cart_id = cart.id request.session['cart_id'] = cart_id cart = Cart.objects.get(id=cart_id) product = Product.objects.get(slug=product_slug) for cart_item in cart.items.all(): if cart_item.product == product: cart.items.remove(cart_item) cart.save() return HttpResponseRedirect('/cart/') return HttpResponseRedirect('/cart/')