Ric*_*ard 6 python django django-rest-framework
我正在尝试构建一个默认输出 JSON 的 Django-rest-framework REST API,但也有 XML 可用。
我已阅读有关默认排序的文档部分的渲染器章节,并将其放入我的设置文件中:
REST_FRAMEWORK = {
'DEFAULT_RENDERER_CLASSES': (
'rest_framework.renderers.JSONRenderer',
'rest_framework_xml.renderers.XMLRenderer',
)
}
Run Code Online (Sandbox Code Playgroud)
但是,默认情况下会输出 XML。切换顺序没有区别。
如果我附加format=json到 URL 并且XMLRenderer完全删除该行,我确实会得到 JSON 。
如何将 JSON 设置为默认值?
我正在使用 Django 的 v1.7 和 Django-rest-framework 的 v3.1.1。
更新:根据这里的要求是我的观点的代码:
class CountyViewSet(viewsets.ModelViewSet):
queryset = County.objects.all()
serializer_class = CountySerializer
Run Code Online (Sandbox Code Playgroud)
和序列化器:
from rest_framework import serializers
class CountySerializer(serializers.ModelSerializer):
class Meta:
model = County
fields = ('id', 'name', 'name_slug', 'ordering')
Run Code Online (Sandbox Code Playgroud)
然后最后从我的 urls 文件:
router = routers.DefaultRouter()
router.register(r'county', CountyViewSet)
urlpatterns = [
url(r'^', include(router.urls)),
]
Run Code Online (Sandbox Code Playgroud)
您可以发布实际视图的代码吗?
你renderer_classes在你的观点中定义过吗?因为这会覆盖默认设置。
class YourView(APIView):
renderer_classes = (XMLRenderer, JSONRenderer, )
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5054 次 |
| 最近记录: |