ajax - Django:Ajas 和反向错误:“str”对象不可调用
问题描述
我有一些代码将返回到我的 urls.py 中定义的 ajax 调用反向 url 我让用户更新页面,然后他们单击提交。当他们单击提交时,他们应该返回到项目列表视图而不是项目更新视图。
视图.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})
网页
这是用于路由用户的模板的 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
推荐阅读
- google-cloud-platform - 未配置 Google Cloud Endpoints POST 返回 Jwt 颁发者
- python-3.x - 如何从字典中获取随机值并仅打印键?
- php - 我无法使用 phpmyadmin,因为错误“令牌不匹配”
- node.js - 从 s3 获取所有文件版本
- c++ - mac编译问题
- android - 为什么我的贴纸应用没有出现在 Gboard 中?
- python - Seq层的两个实现之间的区别 - pytorch
- java - 由于 XML 元数据标记,XML 未得到解析
- linux - Tp-Link T2600G-28TS GPL 源代码编译错误
- laravel - laravel 中 where 条件的数组