如何解决我如何从 jQuery 数据表调用 django 视图?
我正在使用数据表,并且正在尝试添加一些带有操作的按钮。我想调用 django 视图函数,但我不确定如何在 jQuery Datatables 中实现这一点。当我有 Django 模板时,很明显我可以说
<a href="{% url 'Feedback:useredit' user.id %}" class="btn text-secondary px"-0>
<i class="far fa-edit fa-lg"></i>
这将我重定向到 Django 中的“useredit”视图功能。但是,如果没有 django 模板和 jQuery 的数据表内部,这将不起作用。你们能给我一些提示如何实现这一目标吗?
$(document).ready(function() {
var data;
fetch("http://192.168.2.85:8000/fetchapi/")
.then(response => response.json())
.then(json => data = json)
.then(() => {console.log(data);
$('#datatable').DataTable( {
data: data.employees,deferRender: true,scrollY: false,scrollX: false,scrollCollapse: true,scroller: true,"columns": [
{ data: "id" },{ data: "first_name" },{ data: "last_name" },{ data: "email" },{ "data" : null,render: function ( data,type,row ) {
return '<button class="btn-view" type="button">Edit</button>';
} },row ) {
return '<i class="fa fa-plus-circle" aria-hidden="true"></i>';
} },],"order": [[1,'asc']]
} )
})
} );
这是整个 jQuery 代码,但我想我需要在这部分实现 url 到我的 django 视图:
{ "data" : null,row ) {
return '<button class="btn-view" type="button">Edit</button>';
} },row ) {
return '<i class="fa fa-plus-circle" aria-hidden="true"></i>';
} },
我希望我的问题是可以理解和清楚的,非常感谢花时间!
解决方法
在我看来,这是一个快速解决方案。 您可以将您的网址定义为变量:
var url = "{% url 'feedback:useredit' -999 %}";
并且您可以将 -999 替换为您讨厌的 id:
var desired_url = url.replace("-999","1");
// or
var href_title = "<a href='" + "{% url 'feedback:useredit' -999 %}".replace("-999",data.id) +"'>" + data.text + "</a>";
当然最好在您的后端方法(视图)中生成它。
from django.http import JsonResponse
def datatable_json(request):
... Your code here ...
data["useredit_url"] = reverse("feedback:useredit",args=[user.id])
return JsonResponse(data)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。