在Django中,可以使用Form类来创建表单,并使用POST请求将表单数据发送给服务器。如果点击按钮时未发送POST请求以更新Django对象,可能是因为按钮没有正确设置为提交表单的按钮。以下是一个示例解决方法:
from django.shortcuts import render
from .forms import YourForm
from .models import YourModel
def update_object(request):
if request.method == "POST":
form = YourForm(request.POST)
if form.is_valid():
# 处理表单数据
your_object = YourModel.objects.get(id=id)
your_object.field1 = form.cleaned_data['field1']
your_object.field2 = form.cleaned_data['field2']
# 其他字段...
your_object.save()
return render(request, 'success.html')
else:
form = YourForm()
return render(request, 'update_object.html', {'form': form})
在上述示例中,我们首先检查请求方法是否为"POST"。如果是,我们实例化表单对象,并使用表单的is_valid()
方法验证数据的有效性。如果表单有效,我们获取要更新的Django对象,并将表单数据保存到该对象的字段中。最后,我们保存对象并重定向到一个成功页面。
请注意,上述代码是一个简化的示例,并假设你已经创建了一个表单类(YourForm)和一个模型类(YourModel)。你需要根据你的实际情况进行相应的修改。