django 购物系统 - 添加至购物车表单

来源:互联网 发布:python编码汉字互转 编辑:程序博客网 时间:2024/05/19 10:41

商品的详情页面的添加至购物车表单

定义form

class ProductAddToCartForm(forms.Form):    quantity = forms.IntegerField(label='数量',                                  widget=forms.TextInput(                                      attrs={                                          'size': '2',                                          'value': '1',                                          'class': 'quantity',                                          'max_length': '5',                                      }),                                  error_messages={'invalid': '请输入有效数量'},                                  min_value=1,                                  )    product_slug = forms.CharField(widget=forms.HiddenInput())    def __init__(self, request=None, *args, **kwargs):        self.request = request        super(ProductAddToCartForm, self).__init__(*args, **kwargs)    def clean(self):        # 检查用户浏览器端cookie是否开启        if self.request:            if not self.request.session.test_cookie_worked():                raise forms.ValidationError('需要启用cookie')        return self.cleaned_data

视图中使用

def show_product(request, product_slug, template_name):    p = get_object_or_404(Product, slug=product_slug)    categories = p.categories.filter(is_active=True)    page_title = p.name    meta_keywords = p.meta_keywords    meta_description = p.meta_description    form = ProductAddToCartForm(request) ##    return render(request, template_name, locals())

模板中使用

<form action="" method="post">    {% csrf_token %}{{form}}    <input type="submit"></form>



0 0
原创粉丝点击