예제 #1
0
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')
예제 #2
0
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')
예제 #3
0
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')
예제 #4
0
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) + '/')
예제 #5
0
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})
예제 #6
0
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
         }
    )
예제 #7
0
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')
예제 #8
0
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')
예제 #9
0
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
    })
예제 #10
0
파일: views.py 프로젝트: hmj20525/shop
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})
예제 #11
0
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
    })
예제 #12
0
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})
예제 #13
0
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')
예제 #14
0
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
    })
예제 #15
0
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,
        },
    )
예제 #16
0
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
예제 #17
0
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
        })
예제 #18
0
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,
        })
예제 #19
0
파일: views.py 프로젝트: japark/Django-Shop
 def get_context_data(self, **kwargs):
     context = super().get_context_data(**kwargs)
     # context['form'] = OrderForm(self.request)
     context['form'] = AddProductForm()
     return context
예제 #20
0
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
        })