MultiResponse ============= A Python class for Django to provide mime type aware responses. This allows a client to receive different responses based on the HTTP "Accept" header they send. This is used in place of ``render_to_response`` or a manual ``HttpResponse``. Requirements ------------ * Python 2.5+ (lower versions may work but are untested.) * Django 1.0+ (again, lower versions may work but are untested.) * mimeparse 0.1.2+ - http://code.google.com/p/mimeparse/ Sample Usage: ------------- from django.conf import settings from django.shortcuts import render_to_response from multiresponse import MultiResponse def index(request, extension): sample_people = [ {'name': 'Daniel', 'age': 26}, {'name': 'John', 'age': 26}, {'name': 'Jane', 'age': 20}, {'name': 'Bob', 'age': 35}, ] mr = MultiResponse(request) mr.register('html', 'index.html') mr.register('xml', 'people.xml') mr.register('json', 'people.json') mr.register('txt', 'people.txt') return mr.render({ 'people': sample_people, }) Output ------ A HTTP GET to http://localhost:8000/ with a web browser would yield something like: HTTP/1.0 200 OK Date: Tue, 02 Dec 2008 05:39:53 GMT Server: WSGIServer/0.1 Python/2.5.1 Content-Type: text/html; charset=utf-8