Django:奇怪的未找到网址错误

时间:2016-11-23 18:24:40

标签: javascript json ajax django django-urls

问题是下一个:在我的应用程序中,用户可以创建目标,并且所有功能都可以正常运行。现在我正在使用ajax轮询和json进行通知功能。当用户是新用户时,它工作正常,如果用户没有创建目标或修改任何内容,则通知会出现在应用的每个模板中(我想要)。但是,如果用户创建目标,或修改应用程序中的其他内容(应用程序的其他功能正常),则通知效果不佳,因为我收到错误网址未找到。更奇怪的是,当通知无效时,控制台会显示:

  

未找到:/ list_goal / notify

或者如果我在应用程序的某个网址中,那么错误就是

  

未找到:/ some-url-of-app / notify

但是当它工作时,控制台显示:" GET / notify / HTTP / 1.1" 200 125

那我该怎么办?

代码:

目标/ urls.py

urlpatterns = [
    url(r'^list_goals/$', views.list_goals, name='list_goals'),
    url(r'^list_goals/create/$', views.create, name='create'),
    url(r'^notify/$', views.notify, name='notify'),
  ... others urls ...
]

目标/ views.py

@login_required
def notify(request):
    user= User.objects.get(user=request.user.id)
    if request.method == 'GET':
        if request.is_ajax():
            name = user.name
            data = {"name":name }
            return JsonResponse(data)
    return render(request, 'list_goals.html')

... others views

templates / base.html

... html code ...
<script>
        (function poll() {
            setTimeout(function() {
                $.ajax({
                        url: '/notify/',
                        type: "GET",
                        success: function(json) {
                            console.log(json);
                        alert('Notify: your name is: '+ json['name'])
                    },
                    dataType: "json",
                    complete: poll,
                    timeout: 20000
                })
            }, 5000); // 1000 = 1 SEGUNDO PARA DEBUGGING LO DEJO EN 1 MINUTO.. EN REALIDAD LO CORRECTO SERIA ENTRE 20 Y 40 MINUTOS
        })();

  </script>

...更多HTML代码......

0 个答案:

没有答案