Django прекращает добавление любого ввода в базу данных из формы

В аукционной сети. Я пытаюсь прекратить добавление любого ввода (ставки, комментарии и добавление в список наблюдения) любым пользователем в базу данных, если владелец товара нажимает на кнопку "закрыть", поэтому я попытался реализовать этот псевдокод: in views.py

function listing:
t = 1
if == 1:
   if owner clicks on the close button:
      ...
      t = 2
   if the user adds a comment:
      ...
   if the user adds a bid:
      ...
   if user clicks on add to watchlist button:
      ...
else:
    return message ('Auction has ended')

Я реализовал этот код, и страница объявления принимала записи и вводила данные после того, как владелец объявления нажимал на кнопку "закрыть". Я также попытался изменить значение t на булево значение ( t = True, если t == True, если пользователь нажал: return t = False), но это не сработало. так в чем же проблема.

def entry(request, name):
    enter = listing.objects.get(title = name)
    f= bids.objects.filter(product_id = enter)
    x = 0 
    z = ""
    last = None
    ended = None
    like = "k"
    l = 0
    if request.method == 'POST' and request.POST.get("bid"):
            biddd = int(request.POST['bid'])
            user = request.user
            if biddd > x:
                bids.objects.create(bid= biddd , product_id= listing.objects.get(title = name).id, user = user)
    for object in f:
        if object.bid > x:
            if object.bid > x:
                x = object.bid

    if request.method == 'POST' and request.POST.get('close_bid'):
        final = listing.objects.get(title = name)
        last = bids.objects.get(bid = x, product = final).user
        l == 2
    
    elif request.method == 'POST' and request.POST.get("bid"):
            bidd = int(request.POST['bid'])
            if bidd >= x:
                messages.info(request, 'bid accepted')
                z = "#0a720e"
            else:
                messages.info(request, 'bid already present')
                z = "#f44336"

    elif request.method == 'POST' and request.POST.get("watchlist"):
            if request.user.is_authenticated:
                productt = listing.objects.get(title = name)
                user = request.user 
                exist = watchlist.objects.filter(product = productt, user = user)
                if exist.exists():
                    messages.info(request, 'Already added to your watchlist')
                else:
                    watchlist.objects.create(product = productt, user = user)
            else:
                return render(request, "auctions/login.html")
            

    elif request.method == 'POST' and request.POST.get("comments"):
            if request.user.is_authenticated:
                comment = request.POST['comments']
                product = listing.objects.get(title = name)
                user = request.user
                comments.objects.create(comment = comment, user = user, product = product)
            else:
                return render(request, "auctions/login.html")

    commentproduct =  listing.objects.get(title = name)
    commentss= comments.objects.filter( product = commentproduct)

    return render(request, "auctions/entry.html" , {"enter":enter, "bid": f, "x": x, "z":z, "comments":commentss, "winner": last, "ended": ended, "l": l})

в entry.html:

{% extends "auctions/layout.html" %}
{% load static %}

{% block body %}


<h1>Listing: {{enter}}</h1>
<img src="{{enter.image}}">
<p>{{enter.description}}</p>
<h3>Current Bid: {{x}}</h3>
<form action = "#" method="POST">
    {% csrf_token %}
    <label>Add bid:</label>
    <input type="number" name="bid">
    <input type="submit">
</form>



{% for message in messages %}
<div class="alert" style="background-color:{{z}}">
    <span class="closebtn" onclick="this.parentElement.style.display='none';">&times;</span>
    {{message}}
  </div>
  {% endfor %}

<form method='POST' action='#'>
    {% csrf_token %}
    <button type="submit" name="watchlist" value="Add to watchlist">&nbsp;Add to watchlist</button>
</form>
{% for message in messages %}
<h5>{{message}}</h5>
{% endfor %}

<h2>Details:</h2>
<p><strong>Owner:</strong> {{enter.author}}</p>
<p><strong>Category:</strong> {{enter.category}}</p>

<br>
<h2>Add a comment:</h2>
<form method="POST" action="#">
  {% csrf_token %}
  <textarea name="comments" placeholder="Add a comment" style="width:600px"></textarea>
  <input type="submit" value="Add comment">
</form>

{% if user.is_authenticated and user == enter.author %}
<form method='POST' action='#'>
  {% csrf_token %}
  <button type="submit" name="close_bid" value="Close bid">&nbsp;Close Bid</button>
</form>
{% endif %}



<h2>Comments:</h2>
{% for comment in comments %}
<h3>{{comment.user}}:</h3>
<p>{{comment.comment}}</p>
{% endfor %}


{% if user.is_authenticated and user == winner  %}
<div class="alert" style="background-color:green">
  <span class="closebtn" onclick="this.parentElement.style.display='none';">&times;</span>
  You won!
</div>
{% elif not user.is_authenticated %} 
<p></p>
{% else %}
<div class="alert" style="background-color:red">
  <span class="closebtn" onclick="this.parentElement.style.display='none';">&times;</span>
  You lost!
</div>
{% endif %}



{% if user.is_authenticated and user == winner %}
<p>
  You won!
</p>
{% elif not user.is_authenticated %} 
<p>.</p>
{% else %}
<p>you lost</p>
{% endif %}

{% endblock %}
Вернуться на верх