我正在尝试在 Django 中为我的数据创建一个 EditForm,并且每当我点击 Save Changes 时都会收到 500 Internal Server 错误。下面的屏幕截图是控制台中的过程以及当我单击 xhr 错误时的屏幕截图。考虑到我此时只是在本地 http://127.0.0.1:7000 服务器上,知道是什么导致了这种情况吗?
观看次数
class UpdateCrudUser(View):
def get(self, request):
id1 = request.GET.get('id', None)
employee1 = request.GET.get('employee', None)
description1 = request.GET.get('description', None)
stakeholder_group1 = request.GET.get('stakeholder_group', None)
stakeholder_quadrant1 = request.GET.get('stakeholder_quadrant', None)
obj = Stakeholder.objects.get(id=id1)
obj.employee = employee1
obj.description = description1
obj.stakeholder_group = stakeholder_group1
obj.stakeholder_quadrant = stakeholder_quadrant1
obj.save()
user = {'id':obj.id,'employee':obj.employee,'description':obj.description,'stakeholder_group':obj.stakeholder_group,'stakeholder_quadrant':obj.stakeholder_quadrant}
data = {
'user': user
}
return JsonResponse(data)
网址
path('ajax/crud/update/', views.UpdateCrudUser.as_view(), name='crud_ajax_update'),
html
// Update
$("form#updateUser").submit(function() {
console.log("open");
var idInput = $('input[name="formId"]').val().trim();
var employeeInput = $('input[name="formemployee"]').val().trim();
var descriptionInput = $('input[name="formdescription"]').val().trim();
var stakeholder_groupInput = $('input[name="formstakeholder_group"]').val().trim();
var stakeholder_quadrantInput = $('input[name="formstakeholder_quadrant"]').val().trim();
console.log("create");
if (employeeInput && descriptionInput && stakeholder_groupInput && stakeholder_quadrantInput) {
// Create Ajax Call
$.ajax({
url: '{% url "polls:crud_ajax_update" %}',
data: {
'id': idInput,
'employee': employeeInput,
'description': descriptionInput,
'stakeholder_group': stakeholder_groupInput,
'stakeholder_quandrant': stakeholder_quadrantInput
},
dataType: 'json',
success: function (data) {
if (data.user) {
updateToUserTabel(data.user);
}
}
});
console.log("submitted");
}
else {
alert("All fields must have a valid value.");
}
$('form#updateUser').trigger("reset");
$('#myModal').modal('hide');
return false;
});
function updateToUserTabel(user){
$("#userTable #user-" + user.id).children(".userData").each(function() {
var attr = $(this).attr("employee");
if (attr == "employee") {
$(this).text(user.employee);
} else if (attr == "description") {
$(this).text(user.description);
} else if (attr == "stakeholder_group") {
$(this).text(user.stakeholder_group);
} else if (attr == "stakeholder_quadrant") {
$(this).text(user.stakeholder_quadrant);
}
});