python - Django中的复选框,未将Bootstrap复选框链接到模型/数据库,这两种方式都不起作用
问题描述
我知道这是一个以不同格式存在的问题,但由于某种原因,我无法为自己找到解决方案。
问题:
当我在 django 管理员中添加一个复选框时,当我尝试在管理员之外编辑项目时(使用 Boostrap 表单),我可以在页面上看到它,但在表单中看不到它。
这是我要编辑的 html 文件:
<div class="checkbox">
<label class="form-check-label" for="inputprocurement" style=color:#D3D3D3>On Order:</label>
<input type="checkbox" class="form-check-input" id="inputprocurement" aria-describedby="editprocurement" value="{{ get_item.on_orderp }}" name = "on_orderp">
</div>
这是 models.py 文件中的相关部分:
on_orderp = models.BooleanField("inputprocurementcheck", default = False)
和view.py:
def edit_procurement(request, listp_id):
if request.method =='POST':
current_itemp = Procurement.objects.get(pk=listp_id)
# add `request.FILES or None` for file upload
form = ProcurementForm(request.POST or None, request.FILES or None, instance=current_itemp)
if form.is_valid():
form.save()
messages.success(request, ('Item Has Been Edited!'))
return redirect('procurement')
else:
messages.success(request, ('Seems Like There Was An Error...'))
return render(request, 'edit_procurement.html', {})
所以,当我的项目上有一个复选框时:
当我在编辑表单时,我看不到复选框:
如果复选框已打开,并且我正在测试带有复选框的编辑功能,则没有任何更改。
如果复选框已打开,并且我正在测试编辑功能并关闭复选框,则系统中的复选框将被取消选中,
当系统中未选中该复选框并且我尝试使用表单勾选它时,没有任何更改会出现错误。
所有其他领域工作正常。
也许有人可以帮助我。
解决方案
我终于在代码中发现了一个错误,这是一个 Id 的问题。
这就是我所做的更改:
<div class="CheckboxInput">
<label class="form-check-label" for="{{ get_item.on_orderp }}" style=color:#D3D3D3>On Order:</label><br>
<input type="checkbox" class="form-check-input" aria-describedby="editprocurement" id="{{ get_item.on_orderp }}" name = "on_orderp">
</div>
<br>
我将不得不在造型上工作,但它确实有效。
如果您对此问题有任何建议或疑问,请在此处发布。
推荐阅读
- python - 这个神经网络到底叫什么?
- excel - 计算时的 VBA 问题
- reactjs - React - 使用 Ref 获取 DOM 元素 TEXT 值
- python - 将数据块火花笔记本内的数据帧中的数据存储到 S3 存储桶
- c++ - 在 libpcap 回调中获取数据包号
- android - 从 v1 到 2 的 Apollo GraphQL 迁移
- php - 在 php 8.x 中使用父函数访问子属性的问题
- elasticsearch - Kibana 7.11 - 索引模式导出未显示任何字段
- python - 实时处理程序将新数据从吉时利数字万用表附加到 csv 文件而不覆盖数据
- python - `re.Pattern.search()` 中的 UnicodeDecodeError