当我使用代码在django 墨盒的cart.html页面上{{ item.description }}
打印项目名称时,它还会打印项目名称大小。例如aviesta 是项目名称,大小是 2。然后它打印(aviesta Size: 3)。 ..我怎样才能将这个名称和尺寸分成两个不同的部分..
1. 物品名称 2. 物品尺寸
问问题
268 次
1 回答
1
我认为它需要更改模型,因为将产品添加到购物车时,名称和选项会保存到描述中:
class Cart(models.Model):
...
item.description = unicode(variation)
和
class ProductVariation(Priced):
...
def __unicode__(self):
"""
Display the option names and values for the variation.
"""
options = []
for field in self.option_fields():
if getattr(self, field.name) is not None:
options.append("%s: %s" % (unicode(field.verbose_name),
getattr(self, field.name)))
return ("%s %s" % (unicode(self.product), ", ".join(options))).strip()
升级版:
您可以将字段添加到 SelectedProduct 类:
options = CharField(_("Options"), max_length=200)
向 ProductVariation 类添加方法:
def options_text(self):
options = []
for field in self.option_fields():
if getattr(self, field.name) is not None:
options.append("%s: %s" % (unicode(field.verbose_name),
getattr(self, field.name)))
return ", ".join(options).strip()
def __unicode__(self):
"""
Display the option names and values for the variation.
"""
return ("%s %s" % (unicode(self.product), self.options_text())).strip()
更改 Cart 类中的 add_item 方法:
item.description = unicode(variation.product)
item.options = variation.options_text()
于 2012-12-17T11:43:26.590 回答