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.
Filename, size | File type | Python version | Upload date | Hashes |
---|---|---|---|---|
Filename, size djangorestframework_xml-2.0.0-py2.py3-none-any.whl (6.0 kB) | File type Wheel | Python version py2.py3 | Upload date | Hashes View |
Filename, size djangorestframework-xml-2.0.0.tar.gz (5.4 kB) | File type Source | Python version None | Upload date | Hashes View |
Hashes for djangorestframework_xml-2.0.0-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 975955fbb0d49ac44a90bdeb33b7923d95b79884d283f983e116c80a936ef4d0 |
|
MD5 | 6eb6bb1d7ec2bf88981ef6aa8c5e00b5 |
|
BLAKE2-256 | 0f7465485e0ceae183b9348cd080cc69126e498a95bcd5d37df84a598bf94bbd |
Hashes for djangorestframework-xml-2.0.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 35f6c811d0ab8c8466b26db234e16a2ed32d76381715257aebf4c7be2c202ca1 |
|
MD5 | 9742297428c1af5eb1a1352e546115be |
|
BLAKE2-256 | 4574b75939a779fddef1d3e108991f7edb199e6240f23b6aef64f3a222e1b4dd |