0

すでに持っているショッピング カートのプロモーション コードを作成しようとしています。100off と入力して $100 オフにするなど、単純にしたいのですが、「グローバル名 'PromoCode' が定義されていません」というエラーが表示されます。

models.py

class PromoCode(ModelForm):
        code = models.FloatField(max_length=15)
        discount = models.FloatField(max_length=15)

ビュー.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})
4

1 に答える 1

0

コードとディスカウントの 2 つのフィールドを持つ PromoCode モデルを追加します。その後、管理画面でいくつかのプロモーション コードを追加できます。

フォームにプロモーション コード フィールドを追加するだけで、送信時にコードが PromoCode オブジェクトのいずれかと一致するかどうかを確認し、割引を適用できます。

(そして、その場でコードをチェックするための JavaScript のビット。また、割引が 0 と 1 (「0.5」) の間に十分にあることを確認するために、いくつかのチェックをあちこちに追加します。パーセンテージの場合は 0 と 100 間違えないように注意してください。

于 2012-04-25T08:15:06.813 に答える