尝试加载ajax函数时的Django URL问题

时间:2018-11-15 10:49:57

标签: python ajax django

在urls.py中,我有一个类似

的网址
 url(r'^level/(\d+)/ajax/reload/$', views.ajax_change_status, 
 name='ajax_change_status'),

 #Works with this url
 url(r'^level/ajax/reload/$', views.ajax_change_status, 
 name='ajax_change_status'),

我想允许级别/ *所有ID / ajax /重新加载之间的所有ID 当我调用ajax函数时,它返回状态404,找不到URL。现在如果我将(\ d +)替换为任何ID(例如1,23),它就会起作用。这里可能是什么问题?

def ajax_change_status(request):
   if request.is_ajax():
     try:
       Notification.objects.filter(receiver=request.user)  
       .update(viewed=True)
       Addnotify.objects.filter(receiver=request.user)
       .update(viewed=True)
       FollowNotify.objects.filter(receiver=request.user)
       .update(viewed=True)
       HubNotify.objects.filter(receiver=request.user)
       .update(viewed=True)

       return JsonResponse({"success": True})
    except Exception as e:
        print('EXCEPTION',e)

        return JsonResponse({"success": False})

1 个答案:

答案 0 :(得分:0)

您的语法看起来不错。 也许是因为您在REGEX中的最后一个“ /”。您是否尝试使用此“ /”访问URL?