django - django 通过选中复选框一次编辑多个 id
问题描述
我有一些项目,我可以轻松地逐个编辑所有项目,但如果我想通过选择复选框一次编辑多个 id,我会卡住并且无法正常工作。我在哪里做错了?
这是我的代码:
fast_edit.html -> 我通过实例将变量传递给字段。
<div class="row">
<div class="col-sm-12">
<div class="panel panel-default">
<div class="panel-body">
<form class="form-horizontal" action="" method="post" enctype="multipart/form-data">
{%csrf_token%}
{%for field in instance %}
<table class="table">
<tbody>
<tr>
<td width="100">
{{field.label_tag}}
</td>
<td>
{{field}}
</td>
</tr>
</tbody>
</table>
{% endfor %}
<div class="form-group">
<div class="col-sm-offset-6 col-sm6">
<button type="submit" class="btn btn-primary">Update FP Item</button>
</div>
</form>
</div>
</div>
</div>
</div>
表格.py
class FastFPForm(forms.ModelForm):
class Meta:
model = FP
fields = ['FP_Item', 'P_1', 'P_2']
widgets = {
'FP_Item': Textarea(attrs={'cols': 50, 'rows': 3}),
'P_1': Textarea(attrs={'cols': 50, 'rows': 1}),
'P_2': Textarea(attrs={'cols': 50, 'rows': 1}),
}
view.py --> 我正在向 fast_edit 函数发送变量
def items_home(request):
pfast_type = request.GET.get("pfast_type")
item = request.GET.get("fastedit")
........
elif pfast_type and item:
return fast_edit(pfast_type,item)
这是我的功能:
def fast_edit(request,id=None):
if not request.user.is_active:
return render(request, 'login.html')
else:
instance=get_object_or_404(FP,id=item)
form = FastFPForm(request.POST or None,instance=instance)
if form.is_valid():
instance = form.save(commit=False)
instance.user_id = request.user.id
instance.save()
return HttpResponseRedirect(instance.get_absolute_url())
context={
'FP' : FP.FP_Item,
'instance': instance,
'form': form
}
return render(request, 'fast_edit.html', context)
这是我对 fastedit 和 pfast_type 的输入,用于获取 id 和类型。
<input type="checkbox" id="P_1" name="pfast_type" value="P_1"/>
<input type="checkbox" id="{{ obj.id }}" name="fastedit" value="{{ obj.id }}"/>
我知道我的功能不正确但我无法根据需要修复它,所以我想要做的是如果 P_1 选中,我希望 P_1 字段的所有选定项目都可编辑,如果我再次选择 P_2 所有选定项目可编辑让我能够保存在 fast_edit 页面上。
我的逻辑是错误的吗?有没有其他更简单的方法可以通过选择复选框来一次编辑多个 id,或者如果我在正确的轨道上,请给我提示来解决这个问题。谢谢
我添加了,但我认为我不需要 url 就像我们正在编辑单个 id 一样 url(r'^detail/(?P\d+)/$',
网址.py
url(r'^fast_edit/$', views.fast_edit, name='fast_edit'),
解决方案
推荐阅读
- python - Inserting arrays into databases
- php - 我的注释代码在 sidebar.php 文件中是错误的
- python - 多处理池不运行 Astropy 函数
- java - Android BLE 传输被下一行中断
- c# - C# 中的计时器表现得很奇怪
- javascript - 如何编辑字符串中的字符,并删除编辑条件适用的字符
- python - 在列表中的所有字符串中找到共同值?
- arrays - 如果语句不起作用,则在 foreach 数组中显示正确的结果
- python - 训练用于字节序列分类的自动编码器的问题
- excel - Microsoft Excel VBA 绘图宏