Форма Django не будет отправлять post-запрос
Здравствуйте, я перестраиваю свое приложение для инвентаризации с использованием форм django и синтаксиса шаблона jinja. Я не могу получить форму для отправки запроса post. вот моя форма в шаблоне
{% extends "inventory/base.html" %} {% block content%}
<form action="inventory/stock/{{part_id}}" method="post">{% csrf_token %} {{form}}</form>
<button type="submit" name="confirm" >Confirm</button>
<button type="submit" name="cancel">Cancel</button>
{% if messages %}
<ul class="messages">
{% for message in messages %}
<li{% if message.tags %} class="{{ message.tags }}"{% endif %}>
{{ message }}</li>
{% endfor %}
</ul>
{% endif %}
{% endblock %}
вот мой URL:
path('stock/<int:part_id>/', views.add_stock_page, name='add_stock')
вот мое мнение:
@login_required
def add_stock_page(request, part_id):
print('hi')
template= loader.get_template('inventory/addStock.html')
user= request.user
form = StockForm()
title = 'Add Stock'
if 'confirm' in request.POST:
print('confirm')
messages.info(request,'confirm')
if 'cancel' in request.POST:
messages.info(request,'cancel')
return render(request, 'inventory/addStock.html',{
'user':user,
'form':form,
'title':title,
'part_id':part_id
# 'messages':messages
})
вот моя анкета:
class StockForm(forms.ModelForm):
quantity = forms.IntegerField(required=True)
price = forms.DecimalField(required=True)
class Meta:
model = Stock
fields = [
'supplier_id',
'brand_id',
'price'
]
labels ={
'quantity':'Quantity',
'supplier_id':'Supplier',
'brand_id':'Brand',
'price':'Price'
}
<form action="inventory/stock/{{part_id}}" method="post">{% csrf_token %} {{form}}</form>
<button type="submit" name="confirm" >Confirm</button>
<button type="submit" name="cancel">Cancel</button>
кнопки отправки не находятся внутри тегов формы
Попробуйте что-нибудь вроде этого:
<form action="inventory/stock/{{part_id}}" method="post">
{% csrf_token %}
{{form}}
<button type="submit" name="confirm" >Confirm</button>
<button type="submit" name="cancel">Cancel</button>
</form>