コードを使用してdjangoカートリッジのcart.htmlページに商品名を{{ item.description }}
印刷すると、商品名もサイズも印刷されます。たとえば、 aviesta は商品名で、サイズは 2.then と印刷されます(aviesta Size: 3)。 ..この名前とサイズを 2 つの異なる部分に分けるにはどうすればよいでしょうか..
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 に答える