Как отключить форму из views.py?

Как мне добиться нижеуказанного:

@login_required
def close_auction(request,listing_id):
    listing = Listing.objects.get(pk=listing_id)

    if request.method == "POST":
        listing.Auction_closed = True
        **Disable the Bids on the Listing And display some message such as "The auction is Closed"**
        
        return render(request, "auctions/index.html",{
            "listing": Listing.objects.get(pk=listing_id),
            "user": User.objects.get(pk=request.user.id),
            "owner": listing.owner
    })

Ниже приведен мой код в index.html:

        <!-- if the user is the one who created the listing:
                    they can close the listing 
                    go to the close_auction view to close
        -->
        {% if user == owner %}

            <form action="{% url 'close_auction' listing.id %}" method="post"> 
                {%csrf_token%}
                <button>Close this Listing</button>
            </form>
            
        {% endif %}

Ниже приведен мой models.py:

class Listing(models.Model):
    Title = models.CharField(max_length=64)
    Description = models.TextField(max_length=500)
    Category = models.CharField(max_length=16)
    Starting_Bid = models.IntegerField()
    Image = models.ImageField()
    Auction_closed = models.BooleanField(default=False)
    
    #def bid(self):
        #return self.Starting_Bid

class User(AbstractUser):
    watchlist = models.ManyToManyField(Listing, blank= True, related_name="watcher")
    listing_owner = models.ForeignKey(Listing,on_delete=models.CASCADE,related_name="owner",null=True)

class Bid(models.Model):
    Bid_amount = models.IntegerField()
    listing = models.ForeignKey(Listing, on_delete=models.CASCADE, related_name="bids")
    bid_placed_by = models.ForeignKey(User, on_delete=models.CASCADE, related_name="bid_placer", null=True)

Что я пытаюсь достичь здесь:

  • Если пользователь является владельцем объявления, он/она должен иметь возможность "закрыть объявление".
  • После закрытия объявления форма "Разместить ставку" должна быть отключена и вместо нее должно быть показано какое-либо сообщение.
Вернуться на верх