如何将变体显示为产品

时间:2015-11-03 09:17:30

标签: django django-models django-templates

我试图在点击其链接时显示变体,它会将信息显示为产品

这是我的产品型号

class Product(models.Model):
    brand = TreeForeignKey('Brand', verbose_name='brand', related_name='products' , default='')
    category = TreeForeignKey('Category', verbose_name='Category', related_name='products' , default='')
    title = models.CharField(max_length=120)
    description = models.TextField(max_length = 500 ,blank=True ,null=True)
    price = models.IntegerField()
    active = models.BooleanField(default=True)
    is_verified = models.BooleanField(default=False)
    in_stock = models.BooleanField(default=False)
    slug = models.SlugField(default='')

    objects = ProductManager()

这是我的变体模型

class Variation(models.Model):      

    VAR_CATEGORIES = ( 
            ('size' , 'size'), 
            ('color' , 'color'), 
        )

        product = models.ForeignKey(Product)
        category = models.CharField(max_length=120, choices = VAR_CATEGORIES)
        title = models.CharField(max_length=120)
        price = models.IntegerField()
        discount = models.IntegerField(blank=True ,null =True)
        active = models.BooleanField(default=True)
        quantity = models.IntegerField(null=True , blank=True)
        sales_price = models.IntegerField(blank=True ,null =True)
        image = models.ImageField(upload_to=image_upload_to)
        slug = models.SlugField(default='')


        objects = VariationManager()

   def get_absolute_url(self):
        return reverse("product_detail" , kwargs={"pk":self.pk})

这是我的产品视图

class ProductDetailView(DetailView):
    model = Product
    template_name = "products/product.html"
    #template_name = "<appname>/<modelname>_detail.html"

这是我的变体视图

class VariationDetailView(DetailView):
    model = Variation
    template_name = "products/variation.html"
    context_object_name = 'variation'

这是urls.py

 url(r'^(?P<pk>\d+)/$' , ProductDetailView.as_view() , name = 'product_detail'),


url(r'^((?P<pk>\d+)(?:/(?P<slug>[\w\d-]+))?/$' ,VariationDetailView.as_view() , name = 'variation_detail'),

这是模板

{% for variation in object.variation_set.all %}
            <a href = "{% url 'variation_detail' variation.id variation.slug %}"><img src = "{{ variation.image.url }}"></a>
            {% endfor %} 

它确实显示了我的产品的所有变化,但是当我点击某些变化然后它什么都不做

我哪里错了?

0 个答案:

没有答案