如何解决AssertionError:.accepted_renderer未在django和ajax中的Response上设置

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何解决AssertionError:.accepted_renderer未在django和ajax中的Response上设置相关的知识,希望对你有一定的参考价值。

当我在ajax中调用Django url时,低于错误

AssertionError:.accepted_renderer未在Response上设置。

这是我的代码:

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

@api_view(('GET',))
@renderer_classes((TemplatehtmlRenderer, JSONRenderer))
def get_assessment_count(request):
    [...]
    data = {'count': queryset.count()}
    return Response(data, template_name='assessments.html')

以上是关于如何解决AssertionError:.accepted_renderer未在django和ajax中的Response上设置的主要内容,如果未能解决你的问题,请参考以下文章

成功解决[AssertionError: nput tensor input format are different]

如何修复此lang.AssertionError?

解决 AssertionError Torch not compiled with CUDA enabled

解决Jupyter notebook报错:AssertionError: wrong color format ‘var(--jp-mirror-editor-variable-color)‘(代码片

解决用try except 捕获assert函数产生的AssertionError异常时,导致断言失败的用例在测试报告中通过的问题

如何使用 Apache Kafka 修复 Python2.7 中的“AssertionError: Value must be bytes”错误