#python #django #django-models #django-views #django-templates
#питон #джанго #django-модели #django-просмотры #django-templates
Вопрос:
Я несколько новичок в Django и создаю для пользователей способ «делать ставки» на товары, аналогичный ebay. Я получаю сообщение об ошибке: обратный для ‘new_bid’ с аргументами ‘(«,)’ не найден. попробовал 1 шаблон (ы): [‘new_bid/(?P[0-9] )$’]
Обратная трассировка доступна в течение одного дня на этом сайте (у меня возникли проблемы с копированием и вставкой ее здесь). https://dpaste.com/EYMGRBCEN
Я знаю, что кое-что перепутал, в частности, конец views.py в запросе на возврат рендеринга, но я не уверен, что мне там нужно. Я знаю в html {% url ‘new_bid’ i.id %} тоже неверно, но я изо всех сил пытаюсь понять, что должно быть и здесь. Любая помощь приветствуется, так как я хотел бы узнать больше.
views.py
def new_bid(request, listingid):
current_bid = Listings.objects.get(id=listingid)
current_bid = current_bid.starting_bid
if request.method == "POST":
user_bid = int(request.POST.get("bid"))
if user_bid > current_bid:
listing_items = Listings.objects.get(id=listingid)
listing_items.starting_bid = user_bid
listing_items.save()
try:
if Bid.objects.filter(id=listingid):
bidrow = Bid.objects.filter(id=listingid)
bidrow.delete()
bidtable = Bid()
bidtable.user = request.user.username
bidtable.title = listing_items.title
bidtable.listingid = listingid
bidtable.bid = user_bid
bidtable.save()
except:
bidtable = Bid()
bidtable.user = request.user.username
bidtable.title = listing_items.title
bidtable.listingid = listingid
bidtable.bid = user_bid
bidtable.save()
Bid.objects.filter(id=listingid)
return render(request, "auctions/listing.html", {
"i": "id"
})
else:
response = redirect('listingpage', id=listingid)
response.set_cookie('error', 'Bid should be greater than current price', max_age=3)
return response
else:
return redirect('index')
URL-адреса в urls.py
path("listings/<int:id>", views.listingpage, name="listingpage"),
path("new_bid/<int:listingid>", views.new_bid, name="new_bid"),
Соответствующий html:
<p class="lead" align="justify"><strong>Place your Bid : </strong></p>
<form action="{% url 'new_bid' i.id %}" method="POST">
{% csrf_token %}
<div class="form-group">
<input class="form-control" type="text" name="newbid" placeholder="Your Bid">
{% endblock %}
Комментарии:
1. Можете ли вы опубликовать полную трассировку стека ошибок? Может быть, у вас есть проблема в другом шаблоне
2. Какое
i.id
здесь удостоверение личности? Кажетсяi.id
, он возвращает пустое / нулевое значение3. @LinhNguyen dpaste.com/EYMGRBCEN — вот обратная связь. Я знаю, что там написано, что проблема в моем HTML-файле layout, но я не думал, что это действительно так, потому что я видел эту же ошибку некоторое время назад для другого проекта, и там говорилось, что проблема была в layout, но в итоге это оказалось не так. В любом случае, я убедился, что мой пользователь действительно вошел в систему. И мой пользователь вошел в систему. Так что я на самом деле не уверен, почему он выдает эту ошибку.