Я получил эту ошибку Django MultiValueDictKeyError при нажатии на кнопку "просмотр"

Мне нужна помощь Я получил ошибку в моем проекте, когда я нажимаю на "кнопку просмотра", чтобы открыть пост, я получаю эту ошибку : MultiValueDictKeyError at /Post/21 'bid' Метод запроса: GET URL запроса: http://127.0.0.1:8000/Post/21 Версия Django: 3.2.8 Тип исключения: MultiValueDictKeyError Значение исключения:
'bid'

Я думаю, что что-то не так с моим "viewList def" из-за ставки: пожалуйста, взгляните на мой код

view.py (класс формы)

class BidForm(ModelForm):
class Meta:
    model = Bid
    fields = ['bid']


def viewList(request, id):
# check for the watchlist
listing = Post.objects.get(id=id)
user = User.objects.get(username=request.user)
if listing.watchers.filter(id=request.user.id).exists():
    is_watched = True
else:
    is_watched = False

if not listing.activate:
    if request.POST.get('button') == "Close":
        listing.activate = True
        listing.save()
    else:
        price = float(request.POST['bid'])
        bids = listing.bids.all()
        if user.username != listing.creator.username:
            if price <= listing.startBid:
                return render(request, 'auctions/item.html', {
                    "listing": listing,
                    'form': BidForm(),
                    "message": "Error! Your bid must be largest than the current bid!",
                })
            form = BidForm(request.POST)
            if form.is_valid():
                bid = form.save(commit=False)
                bid.user = user
                bid.save()
                listing.bids.add(bid)
                listing.bid = price
                listing.save()
            else:
                return render(request, 'auctions/item.html', {
                    "form": BidForm()
                })
    return HttpResponseRedirect(reverse('viewList', args=(listing.id,)))
context = {
    'listing': listing,
    'comment_form': CommentForm(),
    'comments': listing.get_comments.all(),
    'is_watched': is_watched,
    'form': BidForm()
}
return render(request, 'auctions/item.html', context)

model.py

class Bid(models.Model):
      user = models.ForeignKey(User, on_delete=models.CASCADE)
      bid = models.FloatField()
      time = models.DateTimeField(default=timezone.now)

class Post(models.Model):

      # data fields
      title = models.CharField(max_length=64)
      textarea = models.TextField()

      # bid 
      price = models.FloatField(default=0)
      currentBid = models.FloatField(blank=True, null=True)

      imageurl = models.CharField(max_length=255, null=True, blank=True)
       category = models.ForeignKey(Category, on_delete=models.CASCADE, default="No Category Yet!", null=True,  blank=True)

    creator = models.ForeignKey(User, on_delete=models.PROTECT, related_name="all_creators_listings")

    watchers = models.ManyToManyField(User, blank=True, related_name='favorite')
    date = models.DateTimeField(auto_now_add=True)

    # for activated the Category
    activate = models.BooleanField(default=False)

    bids = models.ManyToManyField(Bid,)

   def __str__(self):
         return f"{self.title} | {self.textarea} |  {self.date.strftime('%B %d %Y')}"

index.html (mainFile)

        {% for listing in items %}
        {% if not listing.activate %}
            <div class="col-sm-4">
                <div class="card my-2">
                    <img src="{{listing.imageurl}}" class="img-fluid">
                    <div class="card-body">
                        <div class="text-center py-2">
                            <h5 class="card-title text-info">{{listing.title}}</h5>
                            <p class="alert alert-info">{{listing.textarea}}</p>
                            <ul class="list-group">
                                <li class="list-group-item list-group-item-info">category: {{listing.category.name}}</li>
                                <li class="list-group-item list-group-item-info">$
                                    {%if listing.currentBid %} 
                                    {{ listing.currentBid }}
                                    {% else %}  
                                    {{ listing.price }}
                                    {% endif %}
                                </li>
                                <li class="list-group-item list-group-item-info">Created by: {{listing.creator}}</li>
                            </ul>
                        </div>

                        <!-- Buttons -->
                        <div class="row">
                            <div class="col">
                                <a href="{% url 'viewList' listing.id %}" class="btn btn-dark btn-sm m-1 btn-block">View</a>
                            </div>
                        </div>
                    </div>
                    <div class="card-footer">
                        <small class="text-muted">Created since:{{listing.date}}</small>
                    </div>
                </div>

            </div>
        {% endif %}
    {% endfor %}
    

item.html (страница для представления постов)

<!-- Close Listing -->
<div class="close-btn">
{% if listing.activate %}
    <div class="alert alert-info" role="alert">
        This listing is no longer available!
    </div>
{% endif %}
</div>

            <div class="card-body">
            <ul class="list-group">
                <div class="info">
                    <li class="list-group-item mb-2">Description:<br>{{listing.textarea}}</li>
                    <li class="list-group-item mb-2">category: {{listing.category.name}}</li>
                    <li class="list-group-item mb-2"><h5>Start bid: {{listing.price}}$</h5></li>
                </div>

                <div class="newbid">
                    <p>{{ message }}</p>
                    {% if listing.activate %}
                    <li><strong>Winner: </strong>{{ listing.bids.last.user.username }}</li>
                    {% endif %}

                    {% if user.username == listing.owner.username and not listing.activate %}
                    <form action="{% url 'viewList' listing.id %}" method="POST">
                        {% csrf_token %}
                        <button type="submit" name="button" class="btn btn-danger" value="Close">Close</button>
                    </form>
                    {% endif %}

                </div>

            </ul>
        </div>
Вернуться на верх