0
이미 갖고있는 장바구니에 대한 프로모션 코드를 만들려고합니다. 100off를 입력하는 것과 같이 100off를 입력하는 것과 같이 간단하게하고 싶습니다. "global name 'PromoCode'가 정의되지 않았습니다."라는 오류가 발생합니다.django - 프로모션 코드 - 쿠폰 코드 - 할인 생성기
class PromoCode(ModelForm):
code = models.FloatField(max_length=15)
discount = models.FloatField(max_length=15)
views.py
def addtocart(request, prod_id):
if (request.method == 'POST'):
form = CartForm(request.POST)
if form.is_valid():
newComment = form.save()
newComment.session = request.session.session_key[:20]
newComment.save()
return HttpResponseRedirect('/products/' + str(newComment.product.id))
else:
form = CartForm({'name':'Your Name', 'session':'message', 'product':prod_id})
return render_to_response('Products/comment.html', {'form': form, 'prod_id': prod_id})
def delItem(request, prod_id):
addtocart = get_object_or_404(Cart, pk = prod_id)
prod_id = addtocart.product.id
addtocart.delete()
return HttpResponseRedirect('/userHistory/')
def userHistory(request):
promo = PromoCode.objects.filter(code = code_from_the_form)
userCart = Cart.objects.filter(session = request.session.session_key[:20])
totalCost = 0
for item in userCart:
print item
totalCost += item.quantity * item.product.prodPrice * 1.06
return render_to_response('Products/history.html', {'userCart':userCart, 'totalCost' : totalCost})
모델을 만들었지 만 여기에서 어디로 가야할지 모르겠다. 나는이 코드가 클래스를위한 기본 전자 상거래 사이트를위한 것이므로 코드를 확인하는 것에 대해 몹시 걱정하지 않는다. 다시 도움을 청한다. 새 모델을 aboove에 추가했는데 맞습니까? 사과하는 것은 아직 새 단서입니다. –
나는 floatfield (또는 퍼센티지로 간다면 integerfield)로 할인을 할 것입니다. 쇼핑 카드를 보여주고 항목 이벤트를 추가/삭제하는 양식에 대한 장고보기가 있습니까? 거기에 추가 필드 ("프로모션 코드")를 추가하고 PromoCode.objects.filter (code = code_from_the_form)를 실행하여 적용해야하는 프로모션 할인이 있는지 확인하십시오. –
'PromoCode'라는 전역 이름이 정의되지 않았습니다. 위의 모델과 뷰를 게시했습니다. –