Django检索postdata

时间:2015-06-03 03:02:53

标签: django django-forms

我无法获得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))

0 个答案:

没有答案