While I am calling Django url in ajax, getting below error
AssertionError: .accepted_renderer not set on Response.
This is my code:
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");
}
});
}
If you're using a function based view, then this issue usually means you forgot to add the @api_view and the @renderer_classes decorator to your view.
Example:
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')
In addition to the accepted answer by @DavidLam it could also be that an error was thrown in your view/handler4xx/handler5xx and you've not caught it appropriately.
If anyone have this issue with Django Rest Framework while using Response in a class, don't forget to use APIView instead of View.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With