Author: jezdez
Date: 2011-06-28 03:17:01 -0700 (Tue, 28 Jun 2011)
New Revision: 16476

Modified:
   django/trunk/django/contrib/sitemaps/views.py
   django/trunk/docs/ref/contrib/sitemaps.txt
Log:
Fixed #16175 -- Modified the sitemaps views to return TemplateResponse 
instances for easier customization. Thanks, mat.

Modified: django/trunk/django/contrib/sitemaps/views.py
===================================================================
--- django/trunk/django/contrib/sitemaps/views.py       2011-06-28 10:16:47 UTC 
(rev 16475)
+++ django/trunk/django/contrib/sitemaps/views.py       2011-06-28 10:17:01 UTC 
(rev 16476)
@@ -1,10 +1,11 @@
-from django.http import HttpResponse, Http404
-from django.template import loader
-from django.contrib.sites.models import get_current_site
 from django.core import urlresolvers
-from django.utils.encoding import smart_str
 from django.core.paginator import EmptyPage, PageNotAnInteger
+from django.http import HttpResponse, Http404
+from django.template.response import TemplateResponse
+from django.utils.encoding import smart_str
 
+from django.contrib.sites.models import get_current_site
+
 def index(request, sitemaps,
         template_name='sitemap_index.xml', mimetype='application/xml'):
     current_site = get_current_site(request)
@@ -21,8 +22,7 @@
         if pages > 1:
             for page in range(2, pages+1):
                 sites.append('%s://%s%s?p=%s' % (protocol, 
current_site.domain, sitemap_url, page))
-    xml = loader.render_to_string(template_name, {'sitemaps': sites})
-    return HttpResponse(xml, mimetype=mimetype)
+    return TemplateResponse(request, template_name, {'sitemaps': sites}, 
mimetype=mimetype)
 
 def sitemap(request, sitemaps, section=None,
         template_name='sitemap.xml', mimetype='application/xml'):
@@ -44,5 +44,4 @@
             raise Http404("Page %s empty" % page)
         except PageNotAnInteger:
             raise Http404("No page '%s'" % page)
-    xml = smart_str(loader.render_to_string(template_name, {'urlset': urls}))
-    return HttpResponse(xml, mimetype=mimetype)
+    return TemplateResponse(request, template_name, {'urlset': urls}, 
mimetype=mimetype)
\ No newline at end of file

Modified: django/trunk/docs/ref/contrib/sitemaps.txt
===================================================================
--- django/trunk/docs/ref/contrib/sitemaps.txt  2011-06-28 10:16:47 UTC (rev 
16475)
+++ django/trunk/docs/ref/contrib/sitemaps.txt  2011-06-28 10:17:01 UTC (rev 
16476)
@@ -313,6 +313,15 @@
         }),
     )
 
+
+.. versionchanged:: 1.4
+
+    In addition, these views also return
+    :class:`~django.template.response.TemplateResponse`
+    instances which allow you to easily customize the response data before
+    rendering. For more details, see the
+    :doc:`TemplateResponse documentation </ref/template-response>`.
+
 Context variables
 ------------------
 

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To post to this group, send email to django-updates@googlegroups.com.
To unsubscribe from this group, send email to 
django-updates+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-updates?hl=en.

Reply via email to