def order(request): message = "" d = date.today() # datetime.combine(d, datetime.min.time()) if request.method == 'POST': form = OrderForm(request.POST) if form.is_valid(): form.save() send_mail('Subject', 'message.', '*****@*****.**', ['*****@*****.**'], fail_silently=False) #email_subject = "I need test it" #email_body = render_to_string("email/invite.html", {}) #from_email = "*****@*****.**" #to = "*****@*****.**" #msg = EmailMultiAlternatives(subject,message,from_email, [to]) #msg.content_subtype = "html" #msg.send() message = "Ваша заявка принята! Ждите когда мы с вами свяжемся!" form = OrderForm() else: form = OrderForm() return render(request, 'order.html', { 'form': form, 'message': message, 'time': d, })
def product_page(request, product_name): categories = Product.objects.values_list('category_name', flat = True ).distinct() if request.method == "POST": postdata = request.POST.copy() form = OrderForm(postdata) if form.is_valid(): add_to_cart(request) return redirect('show_cart_page') else: product = Product.objects.get(product_name = product_name) form = OrderForm() return render(request, "frontend/productpage.html", locals() )
def product_list_by_category(request, category): categories = Product.objects.values_list('category_name', flat = True ).distinct() products = Product.objects.filter(category_name = category) if request.method == "POST": postdata = request.POST.copy() form = OrderForm(postdata) if form.is_valid(): add_to_cart(request) return render(request, "frontend/products_by_category.html", locals()) else: return render(request, "frontend/products_by_category.html", locals())
def buyproduct(request, product_id): product = Product.objects.get(id=product_id) if request.method == "POST": form = OrderForm(request.POST) if form.is_valid(): order = form.save(commit=False) order.product = product order.save() product.number -= 1 product.save() return HttpResponseRedirect("/thanks/"+str(product.id)+"/") else: form = OrderForm() return render_to_response("form.html", {"form": form, "product": product, }, context_instance=RequestContext(request))
def order(): if current_user.is_authenticated: car = Car.query.filter(Car.user_car == current_user.id).all() total = 0 for tt in car: total += tt.all_price id = session.get('site_id') try: del session['site_id'] except: pass obj = Order(order_mount=total, user_of=current_user.id, address_of=id) db.session.add(obj) db.session.commit() for goods in car: num = goods.good_num prices = goods.all_price gid = goods.good_car # 销量和库存 sales_volumes = int(int(goods.car_good.sales_volume) + int(num)) inventorys = int(int(goods.car_good.inventory) - int(num)) #添加至订单详情 obj2 = OrderForm(good_num=num, all_price=prices, good_of=gid, order_of=obj.id) db.session.add(obj2) #更新销量和库存 Goods.query.filter(Goods.id == gid).update({ "sales_volume": sales_volumes, "inventory": inventorys }) db.session.commit() # 添加至订单后删除购物车 Car.query.filter(Car.user_car == current_user.id).delete() db.session.commit() flash('订单生成') return redirect(url_for('car.order_list')) else: flash('请登陆') return redirect('/login')
def my_cards(request, cards_hash): order = request.GET.get('order', False) order = '?' if order != 'art' else '-art_number' author = False author_id = False my_cards_hash = cards_hash try: short_url = ShortLinkCardsUrl.objects.get(url_short=cards_hash) my_cards_attrs = sorted(f7(short_url.url_part.split(','))) attrs_str = ','.join(str(x) for x in my_cards_attrs) my_cards_count = len(my_cards_attrs) except: my_cards_attrs = {} short_url = '' attrs_str = '' my_cards_count = 0 count, price = 0, 0 my_cards_count_array = request.session.get('my_cards_count_array', {}) my_cards_attrs = request.session.get('my_cards_attrs', {}) count, price = get_mycards_price(my_cards_attrs, my_cards_count_array) if request.method == 'POST': form = OrderForm(request.POST) if form.is_valid(): order = Order(email=form.cleaned_data['email']) order.save() order.create_order(request) cards = Postcard.objects cards = cards.filter(art_number__in=[int(x) for x in attrs_str.split(',')]).all() context = { 'order_id':order.id, 'date':date.today(), 'email':form.cleaned_data['email'], 'price':price, 'cards': cards, } send_templated_mail( 'order', '*****@*****.**', [form.cleaned_data['email']], context, bcc=['*****@*****.**'], ) to_redirect = redirect('my_cards', cards_hash=cards_hash) to_redirect['Location'] += '?ok={0}'.format(order.id) return to_redirect else: form = OrderForm() return render( request, 'front/my_cards.html', { 'action':'my_cards', 'art_numbers': short_url.url_part if short_url else '' , 'mode': 'my_cards', 'order':order, 'author_id': author_id, 'author': author, 'my_cards_count': my_cards_count, 'my_cards_hash': my_cards_hash, 'my_cards_attrs':simplejson.dumps(attrs_str), 'my_cards_attrs_str': attrs_str if len(my_cards_attrs) else '0', 'my_cards_count_array': simplejson.dumps(my_cards_count_array), 'count': count, 'price': price, 'form': form, 'ok_id': request.GET.get('ok'), } )