跳转到主要内容

Django REST Framework的XML支持

项目描述

REST框架XML

build-status-image pypi-version

Django REST Framework的XML支持

项目的完整文档可在 http://jpadilla.github.io/django-rest-framework-xml 查找。

概述

XML支持是从官方Django REST Framework实现中提取的第三方软件包。它仅需要defusedxml软件包,因为它可以防止已发现的一些安全问题。

注意:提供的XML输出是临时的格式,没有正式描述。如果您有特定的XML要求,您需要编写自己的XML解析器/渲染器,以便完全控制表示。

需求

  • Python 3.5+
  • Django 2.2+
  • Django REST Framework 3.11+

安装

使用pip安装...

$ pip install djangorestframework-xml

示例

REST_FRAMEWORK = {
    'DEFAULT_PARSER_CLASSES': (
        'rest_framework_xml.parsers.XMLParser',
    ),
    'DEFAULT_RENDERER_CLASSES': (
        'rest_framework_xml.renderers.XMLRenderer',
    ),
}

您还可以使用基于APIView类的视图来设置用于单个视图或视图集的渲染器和解析器。

from rest_framework import routers, serializers, viewsets
from rest_framework_xml.parsers import XMLParser
from rest_framework_xml.renderers import XMLRenderer


class UserSerializer(serializers.HyperlinkedModelSerializer):
    class Meta:
        model = User
        fields = ('url', 'username', 'email', 'is_staff')


class UserViewSet(viewsets.ModelViewSet):
    queryset = User.objects.all()
    serializer_class = UserSerializer
    parser_classes = (XMLParser,)
    renderer_classes = (XMLRenderer,)

示例输出

<?xml version="1.0" encoding="utf-8"?>
<root>
    <list-item>
        <url>http://127.0.0.1:8000/users/1/.xml</url>
        <username>jpadilla</username>
        <email>jpadilla@example.com</email>
        <is_staff>True</is_staff>
    </list-item>
</root>

文档与支持

项目的完整文档可在 http://jpadilla.github.io/django-rest-framework-xml 查找。

您还可以关注作者的Twitter。

项目详情


下载文件

下载适用于您的平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源代码分发

djangorestframework-xml-2.0.0.tar.gz (5.4 kB 查看哈希值)

上传时间 源代码

构建分发

djangorestframework_xml-2.0.0-py2.py3-none-any.whl (6.0 kB 查看哈希值)

上传时间 Python 2 Python 3

支持者