Я хочу сделать кнопку в django интерактивной, когда продукт является бесплатным или премиальным

Я хочу сделать кнопку в django интерактивной в случае, когда категория продукта бесплатна, я хочу, чтобы кнопка показывала "скачать", но если продукт премиум, пусть кнопка будет "Подписаться". Я не очень понимаю, как все это подключить, используя ORM, любая помощь будет признательна. Позвольте мне показать некоторый код

models.py

class Package_Category(models.Model):
    title = models.CharField(max_length=10000, verbose_name="Title")
    slug = models.SlugField(max_length=1000, unique=True)

    def get_absolute_url(self):
        return reverse("package-categories", args=[self.slug])
    
    def __str__(self):
        return self.title

class Vectors(models.Model):
    title = models.CharField(max_length=10000, null=True, blank=True, verbose_name="Title")
    slug = models.SlugField(unique=True)
    image = models.ImageField(upload_to="vectors-images/%Y/%m/%d/", default="default.jpg", verbose_name="Image Cover")
    vec_file = models.FileField(upload_to='vector-uploads/%Y/%m/%d/', null=True, blank=True, verbose_name="Upload File")
    category = models.ForeignKey(Category, on_delete=models.DO_NOTHING, verbose_name="Category")
    package_category = models.ForeignKey(Package_Category, on_delete=models.DO_NOTHING, verbose_name="Package Category")
    file_format = models.ForeignKey(Format, on_delete=models.SET_NULL, null=True, blank=True)
    tags = models.ForeignKey(Tag, on_delete=models.DO_NOTHING, verbose_name="Tag")
    status = models.CharField(choices=STATUS_CHOICE, default="published", max_length=150, verbose_name='Status')
    creator = models.ForeignKey(User, on_delete=models.DO_NOTHING, verbose_name="Creator")
    # creator_image = models.ImageField(upload_to="creators-images/%Y/%m/%d/", default="default.jpg", verbose_name="Creator Image")
    # creator_bio = models.CharField(max_length=10000, null=True, blank=True, verbose_name="Creator Bio", default="Graphics Designer")
    created = models.DateTimeField(auto_now_add=True, verbose_name="Created")

    class Meta:
        verbose_name = "Vector"
        verbose_name_plural = "Vectors"

    def get_absolute_url(self):
        return reverse("elements:vector-details", args=[self.slug])

    def __str__(self):
        return self.title

views.py, если необходимо

def VectorDetails(request, vectors_slug):
    vector = get_object_or_404(Vectors, slug=vectors_slug)
    vectors = Vectors.objects.filter(status='published').order_by('?')[:6]
    creators = Profile.objects.filter(creator=True)
    categories = Category.objects.all()
    info = Announcements.objects.all()

    # creator = Profile.get_object_or_404(pk=pk)


    context = {
        'categories': categories,
        'info': info,
        'vector': vector,
        'vectors': vectors,
        'creators':creators
    }
    return render(request, 'vector-details.html', context)

vector-details.html

<ul>
                                    {% if vector.package_category == 'Free' %}
                                    <button class="full btn" style="padding: 15px 150px; background:linear-gradient(230deg, rgb(255, 0, 157)  0%, rgb(111, 0, 255) 100%);" onclick="location.href='{% url 'elements:download-success' %}' " ><a class="liks gree_button" href="{{vector.vec_file.url}}" download="{{vector.vec_file.url}}">Download</a></button>
                                    {% else %}
                                    <button class="full btn" style="padding: 15px 150px; background:linear-gradient(230deg, rgb(255, 0, 157)  0%, rgb(111, 0, 255) 100%);" onclick="location.href='{% url 'elements:download-success' %}' " ><a class="liks gree_button" href="{{vector.vec_file.url}}" download="{{vector.vec_file.url}}">Subscribe</a></button>
                                    {% endif %}
                                </ul>

Пожалуйста, если что-то понадобится снова, я бы предоставил как можно скорее. Это действительно срочно, и я застрял сейчас

Вернуться на верх