Javascript Django,js文件中未找到Ajax url
我正在使用django、python和javascript创建网站。 我得到一个错误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
“未找到:/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文件中的值