我无法获得postdata。由于某种原因,以下函数中的postdata返回一个空的dict。我有一个购物车,我希望用户通过他们的运输偏好并根据通过的字段计算总数。
我的表格:
ab -c 1 -n 1 -x 127.0.0.1:8888 http://localhost/
我的观点:
class ProductAddToCartForm(forms.Form):
""" form class to add items to the shopping cart """
quantity = forms.IntegerField(widget=forms.TextInput(attrs={'size':'2', 'value':'1', 'style':'width: 40px;'}),
error_messages={'invalid':'Please enter a valid quantity.'},
min_value=1)
product_slug = forms.CharField(widget=forms.HiddenInput())
shipping = forms.BooleanField(initial=True, required=False)
def __init__(self, request=None, *args, **kwargs):
""" override the default so we can set the request """
self.request = request
super(ProductAddToCartForm, self).__init__(*args, **kwargs)
def clean(self):
""" custom validation to check for presence of cookies in customer's browser """
if self.request:
if not self.request.session.test_cookie_worked():
raise forms.ValidationError("Cookies must be enabled.")
return self.cleaned_data
需要postdata的功能:
def show_cart(request, template_name="cart/cart.html"):
if request.method == 'POST':
postdata = request.POST.copy()
if postdata['submit'] == 'Remove':
cart.remove_from_cart(request)
if postdata['submit'] == 'Update':
cart.update_cart(request)
if postdata['submit'] == 'Checkout':
checkout_url = checkout.get_checkout_url(request)
return HttpResponseRedirect(checkout_url)
cart_items = cart.get_cart_items(request)
page_title = 'Shopping Cart'
cart_subtotal = cart.cart_subtotal(request)
return render_to_response(template_name, locals(), context_instance=RequestContext(request))