summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJannis Leidel <jannis@leidel.info>2011-06-28 10:16:47 +0000
committerJannis Leidel <jannis@leidel.info>2011-06-28 10:16:47 +0000
commit60f0421ed3ea16ba78545eeabcde7a3dcdcb7cdd (patch)
tree6d42c0e52223017828395a1eefc470422f89f5fc
parent3fe0c69332299dc1d518cc3a4f84bf435deecc1d (diff)
Fixed #12347 -- Added a mimetype option to sitemaps views to further customize the output of the view, e.g. to support Yahoo's plain text urllist format. Thanks, afurlan.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@16475 bcc190cf-cafb-0310-a4f2-bffc1f526a37
-rw-r--r--django/contrib/sitemaps/views.py10
1 files changed, 6 insertions, 4 deletions
diff --git a/django/contrib/sitemaps/views.py b/django/contrib/sitemaps/views.py
index 454db40420..2255587a9e 100644
--- a/django/contrib/sitemaps/views.py
+++ b/django/contrib/sitemaps/views.py
@@ -5,7 +5,8 @@ from django.core import urlresolvers
from django.utils.encoding import smart_str
from django.core.paginator import EmptyPage, PageNotAnInteger
-def index(request, sitemaps, template_name='sitemap_index.xml'):
+def index(request, sitemaps,
+ template_name='sitemap_index.xml', mimetype='application/xml'):
current_site = get_current_site(request)
sites = []
protocol = request.is_secure() and 'https' or 'http'
@@ -21,9 +22,10 @@ def index(request, sitemaps, template_name='sitemap_index.xml'):
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='application/xml')
+ return HttpResponse(xml, mimetype=mimetype)
-def sitemap(request, sitemaps, section=None, template_name='sitemap.xml'):
+def sitemap(request, sitemaps, section=None,
+ template_name='sitemap.xml', mimetype='application/xml'):
maps, urls = [], []
if section is not None:
if section not in sitemaps:
@@ -43,4 +45,4 @@ def sitemap(request, sitemaps, section=None, template_name='sitemap.xml'):
except PageNotAnInteger:
raise Http404("No page '%s'" % page)
xml = smart_str(loader.render_to_string(template_name, {'urlset': urls}))
- return HttpResponse(xml, mimetype='application/xml')
+ return HttpResponse(xml, mimetype=mimetype)