Django Ajax 按钮 - 当我将按钮的 JS 逻辑移动到单独的文件时,按钮找不到我的 Django 链接



我有一个关注按钮,当包含在我想使用它的特定页面的 HTML 标签中时,它工作得很好:

function toggleFollow(){
$.ajax({
url: "{% url 'user_follow' view.kwargs.username %}",
success: function(data) {
$("#followCount").html(data.follower_count + ' Followers');
$('#followElement').html(data.button);
console.log(data);
},
error: function(error){
console.log(error);
}
});
};

但是当我将此按钮移动到一个单独的文件时,我收到 django 错误"当前路径与这些路径中的任何一个都不匹配",然后它列出了我的所有路径。如何在我的按钮.js文件中调用我的 django 网址?

你不能在button.js文件中使用 django 模板标签。 你必须将 url 从模板传递给 javascript 函数。

例如,可以将以下代码添加到模板文件中:

<script>
window.USER_FOLLOW_URL = "{% url 'user_follow' view.kwargs.username %}";
</script>

然后在按钮中使用此变量.js:

$.ajax({
url: window.USER_FOLLOW_URL,
....
})

最新更新