没有在 Django 视图中获取下拉列表的数据
Not getting the Dropdown's data in Django view
我试图在表单的下拉菜单中选择项目。但我无法访问所选项目。因此,为了检查 views.py 中的数据是否可用,我使用了 messages.error()。但它显示 None 就像
这是表格:
<form method="post" name="deleteitemform" id="deleteitemform" style="padding-bottom:50px; padding-top:10px;">
{% csrf_token %}
<div class="input-group">
<span class="input-group-addon" id='prepandID'>Item Name :</span>
<select class="form-control" id="delete-item-select" name='delete_select'>
{% for item in items %}
<option value="{{item.item_name}}">{{item.item_name}}</option>
{% endfor %}
</select>
</div>
<button class="btn btn-primary col col-md-2 col-md-offset-5" style="margin-top:10px;" name='deletebutton' type="submit">Delete</button>
</form>
在views.py中:
if 'deletebutton' in request.POST:
selected_item = request.POST.get("detele_select", None)
# to_be_deleted = Item.objects.filter(item_name=selected_item)
# to_be_deleted.delete()
messages.error(request, str(selected_item))
return redirect('/restaurant/updateitems')
else:
return redirect("/")
我不确定我做错了什么。任何人都可以在这方面提供帮助吗?
在视图中,您使用 detele_select
而不是表单中指定的 delete_select
。
顺便说一句,使用Django表单更简单方便。它代替你做了很多工作。
我试图在表单的下拉菜单中选择项目。但我无法访问所选项目。因此,为了检查 views.py 中的数据是否可用,我使用了 messages.error()。但它显示 None 就像
<form method="post" name="deleteitemform" id="deleteitemform" style="padding-bottom:50px; padding-top:10px;">
{% csrf_token %}
<div class="input-group">
<span class="input-group-addon" id='prepandID'>Item Name :</span>
<select class="form-control" id="delete-item-select" name='delete_select'>
{% for item in items %}
<option value="{{item.item_name}}">{{item.item_name}}</option>
{% endfor %}
</select>
</div>
<button class="btn btn-primary col col-md-2 col-md-offset-5" style="margin-top:10px;" name='deletebutton' type="submit">Delete</button>
</form>
在views.py中:
if 'deletebutton' in request.POST:
selected_item = request.POST.get("detele_select", None)
# to_be_deleted = Item.objects.filter(item_name=selected_item)
# to_be_deleted.delete()
messages.error(request, str(selected_item))
return redirect('/restaurant/updateitems')
else:
return redirect("/")
我不确定我做错了什么。任何人都可以在这方面提供帮助吗?
在视图中,您使用 detele_select
而不是表单中指定的 delete_select
。
顺便说一句,使用Django表单更简单方便。它代替你做了很多工作。