Django - что не так с моим оператором If?

Я вставил оператор if в свой шаблон - я хочу, чтобы форма появлялась, только если категория товара "Шампанское".

По какой-то причине продукт не отображается для продуктов шампанского.

Вот код

Models.py

CATEGORY=(
    (1,'Rum'),
    (2,'Gin'),
    (3,'Whisky'),
    (4,'Champagne'),
    (5,'Others'),
    )

class Product(models.Model):
    name = models.CharField('Product Name', max_length=120, null=True)
    category = models.IntegerField(choices=CATEGORY, default=0)
    description = models.TextField(blank=True, null=True)
    price = models.DecimalField(null=True, max_digits=6, decimal_places=3)
    image_url= models.URLField('Image Web Address', blank=True)
    product_url = models.URLField('Product Web Address', blank=True)
    class Meta:
        db_table='Product'
    def __str__(self):
        return str(self.name)

HTML

{% if product.category == 'Champagne' %}
<div class="d-flex flex-column mt-4">
    <a class="btn btn-outline-secondary btn-sm" href="{% url 'ElderFlowerReview' product.id %}">Tasting Notes</a>
</div>
{% endif %}

Forms.py

class DrinkForm(ModelForm):
    class Meta:
        model = Product
        fields = ('name','category', 'description')
        labels ={
            'name': '',
            'category': '',
            'description': '',
        }

        widgets = {
                    'name': forms.TextInput(attrs={'class':'form-control', 'placeholder':'Enter name'}),
                    'category': forms.Select(attrs={'class':'form-control', 'placeholder':'Enter category'}),
                    'description':forms.TextInput(attrs={'class':'form-control', 'placeholder':'Enter description'}),
                }

Вы должны использовать 4 вместо "Champagne" 4 - это значение, а "Champagne" - это метка

HTML

{% if product.category == 4 %}
<div class="d-flex flex-column mt-4"> 
<a class="btn btn-outline-secondary btn-sm" href="{% url 'ElderFlowerReview' product.id %}">Tasting Notes</a> 
</div> 
{% endif %}
Вернуться на верх