Как отключить форму из 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)
Что я пытаюсь достичь здесь:
- Если пользователь является владельцем объявления, он/она должен иметь возможность "закрыть объявление".
- После закрытия объявления форма "Разместить ставку" должна быть отключена и вместо нее должно быть показано какое-либо сообщение.