Javascript Django,js文件中未找到Ajax url

Javascript Django,js文件中未找到Ajax url,javascript,jquery,python,ajax,django,Javascript,Jquery,Python,Ajax,Django,我正在使用django、python和javascript创建网站。 我得到一个错误 “未找到:/schedule/{%url”schedule\u delete“%}”当我在js文件中使用ajax时 fullcalendar.js function eventElementHandlers(event, eventElement) { eventElement .click(function(ev) { var start = event.sta

我正在使用django、python和javascript创建网站。 我得到一个错误
“未找到:/schedule/{%url”schedule\u delete“%}”当我在js文件中使用ajax时

fullcalendar.js

function eventElementHandlers(event, eventElement) {
    eventElement
        .click(function(ev) {
            var start = event.start; 
            var id = event.id;
            var title = event.title;

            var allData = {'csrfmiddlewaretoken': '{{ csrf_token }}', "id":id, "start":start, "title":title};
            $.ajax({
                url: "{% url 'schedule_delete' %}", 
                type: "POST",
                data: allData, 
                dataType: "json", 

                success: function(response){
                    alert("success!");
                    $('#used_session'+id).html(response.used_session);

                },
                error:function(error){
                    alert("fail!");
                }
            });
  }
url.py

from django.conf.urls import url
from . import views

urlpatterns= [
url(r'^$', views.home, name='home'),
url(r'^schedule_delete/$', views.schedule_delete, name='schedule_delete'),

]
我还在views.py中创建了schedule_delete

为什么url是错误的??在另一个模板中,相同的url格式还可以。AMT的url是否因django模板或js文件而异

任何帮助都会对我很有帮助,谢谢

您不能在js文件中使用
“{%url”计划\u delete“%}”
。您首先需要在html表单的输入中获取此url,然后使用javascript或jquery读取它

用html编写

<button ... id="ajax-button" data-ajax-target="{% url 'named-url' %}">
这只是一个示例,您也可以通过其他方式执行类似操作。

您不能在js文件中使用
“{%url”计划\u delete“%}”
。您首先需要在html表单的输入中获取此url,然后使用javascript或jquery读取它

用html编写

<button ... id="ajax-button" data-ajax-target="{% url 'named-url' %}">

这只是一个示例,您也可以通过其他方式执行类似操作。

您正在向url
/schedule/schedule\u delete/
发出请求,但看起来您的url.py设置仅用于处理url
/schedule\u delete/
。是否包含主URL.py中的schedule url.py


另外,正如另一位回答者所指出的,您不能在javascript文件中使用django模板变量。

您正在向url
/schedule/schedule\u delete/
发出请求,但看起来您的url.py设置仅用于处理url
/schedule\u delete/
。是否包含主URL.py中的schedule url.py


另外,正如另一位回答者所指出的,您不能在javascript文件中使用django模板变量。

您的javascript文件无法访问django上下文,因为您只能通过django呈现html文件。您需要做的是将javascript内联到模板中,以便能够访问{%url%}模板标记

另一种方法是创建一个数据url html属性,将其设置为url,并在javascript文件中访问该属性

编辑:

我不确定您的html看起来像什么,但我假设您的eventElement是一个按钮

<button data-url="{% url 'schedule-delete' %}"></button>

您的javascript文件无法访问django上下文,因为您只能通过django呈现html文件。您需要做的是将javascript内联到模板中,以便能够访问{%url%}模板标记

另一种方法是创建一个数据url html属性,将其设置为url,并在javascript文件中访问该属性

编辑:

我不确定您的html看起来像什么,但我假设您的eventElement是一个按钮

<button data-url="{% url 'schedule-delete' %}"></button>

在js中保留url,如下url:“/schedule\u delete”,1。它将添加/计划\删除/到您当前的url 2。如果您想使用它:use:url:“{%url”app_name:schedule_delete“%}”,请在js中保留该url,如下url:“/schedule_delete”,1。它将添加/计划\删除/到您当前的url 2。如果您想使用它:use:url:“{%url”app\u name:schedule\u delete“%”,谢谢您的回答。但我使用的是fullcalendar模板。因此,单击eventelement事件只会在fullcalendar.js中发生。我尝试在html中做同样的事情(单击事件),但失败了。有没有办法在js文件中处理ajax?您可以向正在单击的按钮(data url=“{%url”named url“%”)添加一个数据url属性,这样您就可以访问javascript中的url。如何在html中找到函数eventElementHandlers(event,eventElement){}?我将把href放在我的div中。我需要什么href格式来访问js?因为我必须将数据传输到url,我不想只转到url。我想转到包含数据的url。我如何在javascript中使用命名url?谢谢你的回答。但我使用的是fullcalendar模板。因此,单击eventelement事件只会在fullcalendar.js中发生。我尝试在html中做同样的事情(单击事件),但失败了。有没有办法在js文件中处理ajax?您可以向正在单击的按钮(data url=“{%url”named url“%”)添加一个数据url属性,这样您就可以访问javascript中的url。如何在html中找到函数eventElementHandlers(event,eventElement){}?我将把href放在我的div中。我需要什么href格式来访问js?因为我必须将数据传输到url,我不想只转到url。我想转到包含数据的url。我如何在javascript中使用命名url?我理解,这正是我想要解释的。您可以向eventElement添加一个自定义html属性,将其设置为django url,然后通过jQuery查询该属性在javascript文件中的值,我理解,这正是我要解释的。将自定义html属性添加到eventElement中,将其设置为django url,然后可以通过jQuery查询该属性在javascript文件中的值