代码之家  ›  专栏  ›  技术社区  ›  Micah Pearce

Django:Ajas和Reverse错误:“str”对象不可调用

  •  0
  • Micah Pearce  · 技术社区  · 7 年前

    视图.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();
            }
    
    
        }
      });
    
    1 回复  |  直到 7 年前
        1
  •  0
  •   quux    7 年前

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

    from django.urls import reverse