consider the following code as part of an online shop (im sort of
working through jim mcgaws ecommerce book).
in the view

if product.has_options:
    form = ProductSizeOptionsAddToCartForm(request=request,
label_suffix=':')
else:
    form = ProductAddToCartForm(request=request, label_suffix=':')

then in the forms.py

def create_choices():
    if self.product:
        options = self.product.options
        output = [u'(']
        for k, v in self.product.options:
            option_value = smart_unicode(k)
            option_label = smart_unicode(v)
            output.append(u"('%s','%s'),")
        output.append(')')
        return output

class ProductSizeOptionsAddToCartForm(forms.Form):
    quantity =
forms.IntegerField(widget=forms.TextInput(attrs={'size':'2',
'value':'1', 'class':'quantity', 'maxlength':'5'}),
error_messages={'invalid':'Please enter a valid quantity.'},
min_value=1)
    size_option =
forms.CharField(widget=forms.Select(choices=create_choices))
    product_slug = forms.CharField(widget=forms.HiddenInput())


I have tried to write a function that is called from the Select widget
and i get the "'function' object is not iterable" error message, which
is quite obvious. what if every product doesn't have the same options
as CLOTHING_CHOICES list? I've been trying to work out how to store
the options in the db (product.options as a comma separated CharField)
and then pass them into the form as part of the product view.

Anyone done anything like this?

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To post to this group, send email to django-us...@googlegroups.com.
To unsubscribe from this group, send email to 
django-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=en.

Reply via email to