XML support for Django REST Framework
Project description
REST Framework XML
XML support for Django REST Framework
Full documentation for the project is available at http://jpadilla.github.io/django-rest-framework-xml.
Overview
XML support extracted as a third party package directly from the official Django REST Framework implementation. It requires the defusedxml package only because it safeguards against some security issues that were discovered.
Note: XML output provided is an ad-hoc format that isn't formally described. If you have specific XML requirements you'll need to write your own XML parsers/renderers in order to fully control the representation.
Requirements
- Python 3.5+
- Django 2.2+
- Django REST Framework 3.11+
Installation
Install using pip
...
$ pip install djangorestframework-xml
Example
REST_FRAMEWORK = {
'DEFAULT_PARSER_CLASSES': (
'rest_framework_xml.parsers.XMLParser',
),
'DEFAULT_RENDERER_CLASSES': (
'rest_framework_xml.renderers.XMLRenderer',
),
}
You can also set the renderer and parser used for an individual view, or viewset, using the APIView class based views.
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,)
Sample output
<?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>
Documentation & Support
Full documentation for the project is available at http://jpadilla.github.io/django-rest-framework-xml.
You may also want to follow the author on Twitter.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for djangorestframework-xml-2.0.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 35f6c811d0ab8c8466b26db234e16a2ed32d76381715257aebf4c7be2c202ca1 |
|
MD5 | 9742297428c1af5eb1a1352e546115be |
|
BLAKE2b-256 | 4574b75939a779fddef1d3e108991f7edb199e6240f23b6aef64f3a222e1b4dd |
Hashes for djangorestframework_xml-2.0.0-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 975955fbb0d49ac44a90bdeb33b7923d95b79884d283f983e116c80a936ef4d0 |
|
MD5 | 6eb6bb1d7ec2bf88981ef6aa8c5e00b5 |
|
BLAKE2b-256 | 0f7465485e0ceae183b9348cd080cc69126e498a95bcd5d37df84a598bf94bbd |