【发布时间】:2021-01-20 11:39:21
【问题描述】:
我必须创建一个包含拍卖的网站,并且我有一个显示所有活跃拍卖的主页...
我想通过单击相关按钮将用户重定向到拍卖详细信息,但隐藏输入请求存在一些问题,因为它没有向我的函数报告隐藏值( def bid (request,uction) )但我看到了在csrfmiddlewaretoken(id = 1)之后的url栏上,你能帮帮我吗? (我也尝试过 POST 请求...)
这些是我的代码:
- views.py
def home(request): auctions = Auction.objects.filter(status=True) form = detailForm(request.GET or None) if request.method == "GET": id = request.GET.get("id") if form.is_valid(): [bid(request,auction) for auction in auctions if auction.id==id] else: form = detailForm() return render(request, "index.html", {"auctions":auctions, "form":form})
def bid(request, auction): user = request.user form = bidForm(request.POST) if request.method == "POST": bid = request.POST.get("endPrice") if form.is_valid(): if bid > auction.startPrice: auctionUpdate=form.save(commit=False) auctionUpdate.endPrice=bid auctionUpdate.winner=user auctionUpdate.save() else: messages.warning(request, "Devi puntare una cifra superiore a quella vincente!") else: form = bidForm() return render(request, "bid.html", {"form":form})
- forms.py
class detailForm(forms.ModelForm): class Meta: model = Auction fields = ("id",)
-
index.html
{% for auction in auctions %} <--! I put all the informations about auctions --> <form method="GET"> {% csrf_token %} <input type="hidden" name="id" value={{auction.id}}> <input type="submit"> {% endfor %} </form>
谢谢大家!
【问题讨论】:
标签: python django input request hidden