I am trying to create a REST API Django-rest-framework, which by default outputs JSON but also has XML.
I read the chapter in the Renderers section of the default order documentation section and put this in my settings file:
REST_FRAMEWORK = {
'DEFAULT_RENDERER_CLASSES': (
'rest_framework.renderers.JSONRenderer',
'rest_framework_xml.renderers.XMLRenderer',
)
}
However, this outputs XML by default. Switching an order does not matter.
I get JSON if I add format=jsonto the url, and if I delete the string XMLRendereras a whole.
How to set JSON by default?
I am using v1.7 Django and v3.1.1 Django-rest-framework.
UPDATE: as requested here is the code for my views:
class CountyViewSet(viewsets.ModelViewSet):
queryset = County.objects.all()
serializer_class = CountySerializer
And serializer:
from rest_framework import serializers
class CountySerializer(serializers.ModelSerializer):
class Meta:
model = County
fields = ('id', 'name', 'name_slug', 'ordering')
And finally, from my urls file:
router = routers.DefaultRouter()
router.register(r'county', CountyViewSet)
urlpatterns = [
url(r'^', include(router.urls)),
]