def cart_add(request, pk): cart = Cart(request) product = get_object_or_404(Product, pk=pk) form = AddProductForm(request.POST) if form.is_valid(): cd = form.cleaned_data cart.add_product(product=product, quantity=cd['quantity']) return redirect('product-list')
def cart_add(request, product_id): cart = ShoppingCart(request) product = get_object_or_404(Product, id=product_id) form = AddProductForm(request.POST) if form.is_valid(): cd = form.cleaned_data cart.add(product=product, quantity=cd['quantity'], override_quantity=cd['override']) return redirect('cart:cart_detail')
def add(request, product_id): # 장바구니에 상품을 추가하는 뷰 cart = Cart(request) product = get_object_or_404(Product, id=product_id) form = AddProductForm(request.POST) if form.is_valid(): cd = form.cleaned_data cart.add(product=product, quantity=cd['quantity'], is_update=cd['is_update']) return redirect('cart:detail')
def add(request, product_id): cart = Cart(request) product = get_object_or_404(Product, id=product_id) form = AddProductForm(request.POST) if form.is_valid(): cd = form.cleaned_data cart.add(product=product, quantity=cd['quantity'], is_update=cd['is_update']) return redirect('/cart/') return redirect('/product/' + str(product.id) + '/')
def add(request, product_id): cart = Cart(request) product = get_object_or_404(Product, id=product_id) add_to_cart = AddProductForm(initial={'quantity': 1}) form = AddProductForm(request.POST) if form.is_valid(): cd = form.cleaned_data cart.add(product=product, quantity=cd['quantity'], is_update=cd['is_update']) return render(request, 'shop/product_list.html', {'add_to_cart': add_to_cart})
def product_in_restaurant(request, restaurant_slug=None): current_restaurant = None restaurants = Restaurant.objects.all() categories = Category.objects.all() products = Product.objects.filter(available_display=True) cart = Cart(request) add_coupon = AddCouponForm() add_to_cart = AddProductForm(initial={'quantity': 1}) for product in cart: product['quantity_form'] = AddProductForm(initial={'quantity': product['quantity'], 'is_update': True}) if restaurant_slug: current_restaurant = get_object_or_404(Restaurant, slug=restaurant_slug) products = products.filter(restaurant=current_restaurant).order_by('-id')[:3] for product_price in products: product_price.discount = 100 - (product_price.price / product_price.origin_price) * 100 product_price.save() if request.method == 'POST': user = request.user post = Comment() post.restaurant = current_restaurant post.user_id = user.id post.owner = user.email post.body = request.POST['body'] post.pub_date = timezone.datetime.now() post.save() user = request.user err = 1 posts = Comment.objects.filter(restaurant=current_restaurant).order_by('-id') post_paginator = Paginator(posts, 3) page = request.GET.get('page') page_posts = post_paginator.get_page(page) if user.is_authenticated == True: err = 0 return render( request, 'shop/product_list.html', {'current_restaurant': current_restaurant, 'categories': categories, 'restaurants': restaurants, 'products': products, 'cart': cart, 'add_coupon': add_coupon, 'add_to_cart': add_to_cart, 'page_posts': page_posts, 'err': err } )
def add(request, product_id): # print('장바구니에 넣는 제품 id: ', product_id) cart = Cart(request) product = get_object_or_404(Product, id=product_id) # 유효한 값이 들어있는지 체크 # input에 들어간 values를 가지고 옴 form = AddProductForm(request.POST) if form.is_valid(): cd = form.cleaned_data # 입력값 딕셔너리 형태로 가져 옴 cart.add(product=product, quantity=cd['quantity'], is_update=cd['is_update']) return redirect('cart:detail')
def add(request, product_id): # request.session['login_id'] = 'kgjava' # print('장바구니에 넣는 제품id: ', product_id) cart = Cart(request) # 객체생성, 초기화 product = get_object_or_404(Product, id=product_id) # db 서치 # 유효한 값이 들어가 있는지 체크 # input에 들어간 values를 가지고 옴. form = AddProductForm(request.POST) if form.is_valid(): cd = form.cleaned_data # input data 처리 # db, form, hidden값 add cart.add(product=product, quantity=cd['quantity'], is_update=cd['is_update']) return redirect('cart:detail')
def product_detail(request, id, product_slug=None): product = get_object_or_404(Product, id=id, slug=product_slug) add_to_cart = AddProductForm(initial={'quantity': 1}) return render(request, 'shop/detail.html', { 'product': product, 'add_to_cart': add_to_cart })
def product_detail(request, id, product_slug=None): # 지정된 상품 객체를 상세 화면으로 전달 product = get_object_or_404(Product, id=id, slug=product_slug) add_to_cart = AddProductForm(initial={'quantity': 1}) # !!! cart = Cart(request) return render(request, 'shop/detail.html', {'product': product, 'add_to_cart': add_to_cart, # !!! 'cart': cart})
def product_detail(request, id, product_slug=None): product = get_object_or_404(Product, id=id, slug=product_slug) add_to_cart = AddProductForm() reviews = Review.objects.filter(studio=product) return render(request, 'today/detail.html', { 'product': product, 'add_to_cart': add_to_cart, 'reviews': reviews })
def detail(request): cart = Cart(request) for product in cart: product['quantity_form'] = AddProductForm( initial={ 'quantity': product['quantity'], 'is_update': True }) return render(request, 'cart/detail.html', {'cart': cart})
def add(request, product_id): print('장바구니에 넣는 제품 id : ', product_id) # cart.py를 import하고 Cart를 빼옴 / Cart(request) >> 객체생성 cart = Cart(request) product = get_object_or_404(Product, id=product_id) # 유효한 값이 들어가 있는지 체크 # input에 들어간 values를 가지고 옴 form = AddProductForm(request.POST) if form.is_valid(): cd = form.cleaned_data # 장바구니 추가 cart.add(product=product, quantity=cd['quantity'], is_update=cd['is_update']) # redirect >> 서버에 요청 해달라는 명령 return redirect('cart:detail')
def product_detail(request, id, product_slug=None): # URL로부터 슬러그 값을 읽어와서 해당 제품을 찾습니다. 그리고 그 제품을 노출합니다. # 없는 경우 404 페이지를 출력합니다. product = get_object_or_404(Product, id=id, slug=product_slug) add_to_cart = AddProductForm(initial={'quantity': 1}) return render(request, 'shop/detail.html', { 'product': product, 'add_to_cart': add_to_cart })
def product_detail(request, id, product_slug=None): product = get_object_or_404(Product, id=id, slug=product_slug) add_to_cart = AddProductForm(initial={"제품수량": 1}) return render( request, "shop/detail.html", { "product": product, "add_to_cart": add_to_cart, }, )
def detail(request): # 장바구니 페이지 뷰 cart = Cart(request) add_coupon = AddCouponForm() # !!! AddCouponForm for product in cart: # 장바구니에 담긴 상품마다 (수량 수정 가능하도록) AddProductForm 생성 product['quantity_form'] = AddProductForm( initial={ 'quantity': product['quantity'], 'is_update': True }) return render(request, 'cart/detail.html', { 'cart': cart, 'add_coupon': add_coupon }) # !!! AddCouponForm
def product_detail(request, id, product_slug=None): product = get_object_or_404(Product, id=id, slug=product_slug) # 제품 있으면 불러와짐 add_to_cart = AddProductForm(initial={'quantity': 1}) review_form = ReviewForm() # 리뷰를 작성할 폼 가져오기 return render( request, 'shop/detail.html', { 'shop_active': "is-active", 'product': product, 'add_to_cart': add_to_cart, 'review_form': review_form })
def product_detail(request, slug): product = get_object_or_404(Product, slug=slug, available=True) add_to_cart_form = AddProductForm(initial={ 'update': True, 'quantity': 1, 'product_id': product.id }) r = Recommender() suggested_products = r.suggest_products_for([product], 3) return render( request, 'shop/product/detail.html', { 'product': product, 'form': add_to_cart_form, 'suggested_products': suggested_products, })
def get_context_data(self, **kwargs): context = super().get_context_data(**kwargs) # context['form'] = OrderForm(self.request) context['form'] = AddProductForm() return context
def product_detail(request, id, product_slug=None): # 제품 상세 뷰 categories = Category.objects.all() product = get_object_or_404(Product, id=id, slug=product_slug) relative_products = Product.objects.filter(group=product.group).exclude( slug=product_slug) recipes = Recipe.objects.filter(products=product) #comment 부분 comments = Comment.objects.filter(product=product) if request.method == "POST": comment_form = CommentForm(request.POST, request.FILES) comment_form.instance.author = request.user.id comment_form.instance.product_slug = product_slug if comment_form.is_valid(): comment = comment_form.save() # models.py에서 document의 related_name을 comments로 해놓았다. options = Option.objects.filter(product=product) comment_form = CommentForm() options = Option.objects.filter(product=product) for option in options: add_to_cart = AddProductForm(initial={'quantity': 1}) order = '' if request.method == "GET": if 'orderby' in request.GET: order = request.GET['orderby'] if order == 'like': comments = comments.order_by('-like') return render( request, 'shop/detail.html', { 'product': product, 'add_to_cart': add_to_cart, 'relative_products': relative_products, 'comments': comments, 'comment_form': comment_form, 'options': options }) elif order == 'date': comments = comments.order_by('-comment_created') return render( request, 'shop/detail.html', { 'product': product, 'add_to_cart': add_to_cart, 'relative_products': relative_products, 'comments': comments, 'comment_form': comment_form, 'options': options }) comments = comments.order_by('-like') return render( request, 'shop/detail.html', { 'product': product, 'add_to_cart': add_to_cart, 'relative_products': relative_products, 'comments': comments, 'comment_form': comment_form, 'options': options })