Найти - Пользователи
Полная версия: Проблема с генерацией sitemap и русскими ссылками
Начало » Django » Проблема с генерацией sitemap и русскими ссылками
1
aliens
Здравствуйте!
Столкнулся с такой проблемой при генерации sitemap.
Есть такая модель:
class GoodSeries(models.Model):
brand = models.ForeignKey(GoodBrand)
series_name = models.CharField(max_length=250, verbose_name=u"Название")
description = models.TextField(verbose_name=u"Описание", blank=True)
def get_absolute_url(self):
return reverse('group_goods', args=[self.series_name])
Поле series_name содержит текст на русском, и в ссылку выводится типа: http://wwwww.net/goods/Детские%20щетки
Такой же адрес для каждой GoodSeries надо получить в sitemap.

И такая “модель” для sitemap:
class SeriesMap(Sitemap):
changefreq = 'weekly'
priority = '0.8'

def items(self):
return GoodSeries.objects.all()
При таком использовании,я получаю ошибку:
Reverse for ‘group_goods’ with arguments ‘(u’\u0411\u0435\u043b\u0438\u0437\u043d\u0430',)' and keyword arguments ‘{}’ not found.
Хотя при переходе на сайте (по ссылке выше) все нормально находится.

Если в get_absolute_url() использовать просто return “/goods/%s” % self.series_name, то получаю в карте сайта заместо своего домена example.com

Понимаю, что ошибка с кодировками, но незнаю как решить. Подскажите пожалуйста
Александр Кошелев
aliens
При таком использовании,я получаю ошибку:
Как в urls.py описан паттерн?
aliens
Если в get_absolute_url() использовать просто return “/goods/%s” % self.series_name, то получаю в карте сайта заместо своего домена example.com
Правильно. Вам надо поменять домен у объекта Site.
aliens
Daevaorn
aliens написал:

При таком использовании,я получаю ошибку:

Как в urls.py описан паттерн?
aliens написал:

Если в get_absolute_url() использовать просто return “/goods/%s” % self.series_name, то получаю в карте сайта заместо своего домена example.com

Правильно. Вам надо поменять домен у объекта Site.
sitemaps = {
'series':SeriesMap,
}
urlpatterns = patterns('',
url(r'^all/$', views.all_series),
url(r'^(?P<series>[\w\s\"\,\.\-]+)/$', views.group_goods),
url(r'^company/(?P<company>[\w\s\"\,\.\-]+)/$', views.see_company),
url(r'^(?P<series>[\w\s\"\,\.\-]+)/page_(?P<page_num>\d+)/$', views.group_goods),

)

И в глобальном urls.py
(r'^sitemap.xml$', 'django.contrib.sitemaps.views.sitemap', {'sitemaps': sitemaps}),
А что такое объект Site? на оф сайте много всего, что прочитать не подскажете?
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB