Django:Ajas和反向错误:"str"对象不可调用



我有一些代码将返回到ajax调用,调用在我的url中定义的反向url。我让用户更新一个页面,然后他们单击提交。当他们单击提交时,他们应该返回到项目列表视图,而不是项目更新视图。

Views.py

这成功地返回了同一个页面,但这不是我想要的。

return JsonResponse({"status": "success",
"message": message})

这会产生一条错误消息"next_url": reverse("item:list"), TypeError: 'str' object is not callable

return JsonResponse({"status": "success",
"next_url": reverse("item:list"), 
"message": message})

HTML页面

以下是用于路由用户的模板的ajax:

$.ajax({
url: '/item/ajax/approve/',
data: {
'reply': reply,
'item': item,
'user_type': userType,
},
type: "POST",
dataType: 'json',
success: function (data) {
var successMsg = data.message 
if (data.status){
successMsg = successMsg + "<br/><br/><i class='fa fa-spin fa-spinner'></i> Redirecting..." //<i class> - 'font awesome'
}
if (data.next_url){
if ($.alert){  // if alert message is installed
$.alert(successMsg)
} else {
alert("")
}
redirectToNext(data.next_url, 1500)  
} else {
location.reload();
}

}
});

您需要在文件的开头导入reverse函数。

from django.urls import reverse

最新更新