ajax - 如何解决 AssertionError: .accepted_renderer not set on Response in django and ajax
问题描述
当我在 ajax 中调用 Django url 时,出现以下错误
AssertionError: .accepted_renderer 未在响应上设置。
这是我的代码:
function download(){
$.ajax({
url: "/mdm/exam_app/get_assessment_count/",
dataType: 'json',
data:{
},
type:'GET',
success: function (data) {
alert("inside the success method");
},
error: function(){
console.log("error");
}
});
}
解决方案
如果您使用的是基于函数的视图,那么这个问题通常意味着您忘记将@api_view和@renderer_classes装饰器添加到您的视图中。
例子:
from rest_framework.decorators import api_view, renderer_classes
from rest_framework.renderers import JSONRenderer, TemplateHTMLRenderer
@api_view(('GET',))
@renderer_classes((TemplateHTMLRenderer, JSONRenderer))
def get_assessment_count(request):
[...]
data = {'count': queryset.count()}
return Response(data, template_name='assessments.html')
推荐阅读
- python - 在 python 3.4 中添加变量
- sql-server - 如何正确替换连续多次使用的预定义分隔符
- c# - How to open and edit a shared google doc in an internal/custom editor using google API?
- r - 从 `.` `data.table` 导入,以便 lintr 识别它
- bash - 将变量作为参数传递给 .sh 文件
- mysql - MySql Join with Sum 返回错误的输出
- c# - 如何更新cs文件中按钮的样式?
- automator - Mac 和自动化新手
- android - Context.startForegroundService 没有然后调用 Service.startForeground:替代解决方案
- python - 如何修复“ModuleNotFoundError:没有名为 'azure.storage' 的模块”?