我想在Django中启用站点地图生成,所以我做了以下内容,如何解释这里
模型:
class Car(models.Model):
def __unicode__(self):
return self.name
name = models.CharField('Name', max_length=10)
active = models.BooleanField()
Run Code Online (Sandbox Code Playgroud)
网址:
car_dict = {
'queryset': Car.objects.filter(active=1),
}
sitemaps = {
#'flatpages': FlatPageSitemap,
'car': GenericSitemap(car_dict, priority=0.5),
}
Run Code Online (Sandbox Code Playgroud)
但我在/sitemap.xml上有一个错误:'Car'对象没有属性'get_absolute_url.怎么解决?我需要创建一些类,它在这里解释如何?或者我只能使用GenericSitemap?我评论'flatpages',因为我不使用它们.谢谢.
更新1:在URLS.py中:
url(r'^car/$', 'cars.views.shop'),
url(r'^car/(?P<car_id>\d+)/$', 'cars.views.producer'),
Run Code Online (Sandbox Code Playgroud)
Aam*_*nan 17
您必须为模型定义get_absolute_url:
from django.core.urlresolvers import reverse
class Car(models.Model):
name = models.CharField('Name', max_length=10)
active = models.BooleanField()
def __unicode__(self):
return self.name
def get_absolute_url(self):
return reverse('car_details', kwargs={'name':self.name})
Run Code Online (Sandbox Code Playgroud)
请根据您定义的URL更新URL反向方法.