2012-04-25 5 views
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}) 

답변

0

models.py 두 개의 필드와 PromoCode 모델을 추가 코드와 할인. 그런 다음 관리자에게 몇 가지 프로모션 코드를 추가 할 수 있습니다.

양식에 프로모션 코드 입력란을 추가하고 제출시 해당 코드가 귀하의 프로모션 코드와 일치하는지 확인하고 할인을 적용하십시오.

(자바 스크립트를 사용하여 코드를 확인해야 할 수도 있습니다. 방금 원하는 경우 할인율이 0과 1 사이 ("0.5")인지 확인하기 위해 여기저기서 수표를 추가 할 것입니다. 곱하기 그리고 0에서 100 사이의 백분율 일 경우. 실수로 실수 할 수 없도록하십시오. 구현해야한다면 두려워 할 것입니다 :-)

+0

모델을 만들었지 만 여기에서 어디로 가야할지 모르겠다. 나는이 코드가 클래스를위한 기본 전자 상거래 사이트를위한 것이므로 코드를 확인하는 것에 대해 몹시 걱정하지 않는다. 다시 도움을 청한다. 새 모델을 aboove에 추가했는데 맞습니까? 사과하는 것은 아직 새 단서입니다. –

+0

나는 floatfield (또는 퍼센티지로 간다면 integerfield)로 할인을 할 것입니다. 쇼핑 카드를 보여주고 항목 이벤트를 추가/삭제하는 양식에 대한 장고보기가 있습니까? 거기에 추가 필드 ("프로모션 코드")를 추가하고 PromoCode.objects.filter (code = code_from_the_form)를 실행하여 적용해야하는 프로모션 할인이 있는지 확인하십시오. –

+0

'PromoCode'라는 전역 이름이 정의되지 않았습니다. 위의 모델과 뷰를 게시했습니다. –