Usually you would create a ticket on trac [1] which describes your problem
and reasoning.
And you can attach a patch file to it. This way, it will go through the
normal triaging and feature requests.

[1] http://code.djangoproject.com/newticket
-- Gert

Mobile: +32 498725202
Twitter: @gvangool <http://twitter.com/gvangool>
Web: http://gert.selentic.net



On Fri, Apr 22, 2011 at 13:14, Nikolay Panov <[email protected]>wrote:

> Hi,
>
> I cannot use www in current_site.domain since .domain is used in many
> places (e.g. emails) where www is not required. BTW, I'm using
> PREPEND_WWW=True setting, since it makes url looks better.
> Now, google webmaster tools rejecting all links in sitemap of my
> project because lack of 'www'.
>
> My question is: why we cannot have something like:
>
> --- django_old/contrib/sitemaps/__init__.py   2008-11-19
> 08:44:26.000000000 +0300
> +++ django_new/contrib/sitemaps/__init__.py     2010-11-24
> 18:57:34.000000000 +0300
> @@ -1,4 +1,5 @@
>  from django.core import urlresolvers, paginator
> +from django.conf import settings
>  import urllib
>
>  PING_URL = "http://www.google.com/webmasters/tools/ping";
> @@ -29,7 +30,10 @@
>
>     from django.contrib.sites.models import Site
>     current_site = Site.objects.get_current()
> -    url = "http://%s%s"; % (current_site.domain, sitemap_url)
> +    domain = current_site.domain
> +    if settings.PREPEND_WWW and not domain.startswith('www.'):
> +        domain = 'www.' + domain
> +    url = "http://%s%s"; % (domain, sitemap_url)
>     params = urllib.urlencode({'sitemap':url})
>     urllib.urlopen("%s?%s" % (ping_url, params))
>
> @@ -62,9 +66,12 @@
>     def get_urls(self, page=1):
>         from django.contrib.sites.models import Site
>         current_site = Site.objects.get_current()
> +        domain = current_site.domain
> +        if settings.PREPEND_WWW and not domain.startswith('www.'):
> +            domain = 'www.' + domain
>         urls = []
>         for item in self.paginator.page(page).object_list:
> -            loc = "http://%s%s"; % (current_site.domain,
> self.__get('location', item))
> +            loc = "http://%s%s"; % (domain, self.__get('location', item))
>             url_info = {
>                 'location':   loc,
>                 'lastmod':    self.__get('lastmod', item, None),
> and
>
> --- django_old/contrib/sitemaps/views.py      2008-11-19
> 08:44:26.000000000 +0300
> +++ django_new/contrib/sitemaps/views.py        2010-11-24
> 18:57:58.000000000 +0300
> @@ -4,6 +4,8 @@
>  from django.core import urlresolvers
>  from django.utils.encoding import smart_str
>  from django.core.paginator import EmptyPage, PageNotAnInteger
> +from django.conf import settings
> +
>
>  def index(request, sitemaps):
>     current_site = Site.objects.get_current()
> @@ -15,10 +17,13 @@
>         else:
>             pages = site.paginator.num_pages
>         sitemap_url =
> urlresolvers.reverse('django.contrib.sitemaps.views.sitemap',
> kwargs={'section': section})
> -        sites.append('%s://%s%s' % (protocol, current_site.domain,
> sitemap_url))
> +        domain = current_site.domain
> +        if settings.PREPEND_WWW and not domain.startswith('www.'):
> +            domain = 'www.' + domain
> +        sites.append('%s://%s%s' % (protocol, domain, sitemap_url))
>         if pages > 1:
>             for page in range(2, pages+1):
> -                sites.append('%s://%s%s?p=%s' % (protocol,
> current_site.domain, sitemap_url, page))
> +                sites.append('%s://%s%s?p=%s' % (protocol, domain,
> sitemap_url, page))
>     xml = loader.render_to_string('sitemap_index.xml', {'sitemaps': sites})
>     return HttpResponse(xml, mimetype='application/xml')
>
>
> This fix works well for me, but it will be great to have this into
> official django repo.
>
> Have a nice day,
>    Nikolay.
>
> --
> You received this message because you are subscribed to the Google Groups
> "Django developers" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to
> [email protected].
> For more options, visit this group at
> http://groups.google.com/group/django-developers?hl=en.
>
>

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

Reply via email to