【发布时间】:2020-12-17 17:35:46
【问题描述】:
除了 djangorestframework 之外,我还在使用 djangorestframework-datatables 包。除了 django 文档中提供的在标头中设置 X-CSRFToken 的 ajax 设置之外,我还使用 datatables ajax 函数在标头中设置了 CSRFToken:
Data.columns = [];
$('th').each(function(item,i){
Data.columns.push({'data': $(this).text().trim()})
});
$('#searchtable').DataTable({
'serverSide': true,
'ajax': {
'url': '/api/v1/reports/?format=datatables',
'type': 'POST',
'columns': Data.columns,
'headers': {'CSRFToken': Data.csrftoken },
}
});
这是我正在写的视图的 drf 代码:
class ReportViewSet(viewsets.ModelViewSet):
queryset = Report.objects.all()
serializer_class = ReportSerializer
permission_classes = [IsAuthenticated]
我得到的错误是:“CSRF 失败:CSRF 令牌丢失或不正确” - 这是在响应中
谁能帮忙?
【问题讨论】:
标签: python django ajax django-rest-framework datatables