My page when requested through GET appears already with error "This field is required.", which is not a desirable behavior. I want this error appears when user actually attempts to submit a form without a data required.
This is my form Python class:
class Place_A_Bid_Form(forms.Form):
listing = forms.CharField(widget=forms.TextInput(attrs={"type":"hidden"}))
bid = forms.IntegerField(widget=forms.NumberInput(attrs={"class":"form-control"}),
min_value=1)
Form's html:
<form action="{% url 'place_a_bid' listing.title %}">
{% csrf_token %}
<div class="form-row">
<div class="col">
{{ form }}
</div>
<div class="col">
<input class="btn btn-primary" type="submit" value="Place a bid">
</div>
</div>
</form>
And view:
def details(request, listing):
listing_obj = Listing.objects.get(title=listing)
form = Place_A_Bid_Form({"listing":listing_obj.title})
categories = Category.objects.all()
user = User.objects.get(username=request.user.username)
if listing_obj in user.created_listings.all():
return render(request, "auctions/details.html", {
"listing": listing_obj,
"categories": categories,
"creator": True
})
elif listing_obj in user.watchlist.all():
return render(request, "auctions/details.html", {
"listing": listing_obj,
"categories": categories,
"in_watchlist": True,
"form": form
})
else:
return render(request, "auctions/details.html", {
"listing": listing_obj,
"categories": categories,
"in_watchlist": False,
"form": form
})
What am I doing wrong? Thanks in advance.