/ / get_absolute_url - Djangoのサイトマップ - python、django

get_absolute_url - Djangoのサイトマップ - Python、django

Djangoでサイトマップ生成を有効にしたいので、次のようにして説明します。 ここに

モデル:

class Car(models.Model):
def __unicode__(self):
return self.name
name = models.CharField("Name", max_length=10)
active = models.BooleanField()

URL:

car_dict = {
"queryset": Car.objects.filter(active=1),
}

sitemaps = {
#"flatpages": FlatPageSitemap,
"car": GenericSitemap(car_dict, priority=0.5),
}

しかし、/ sitemap.xmlにエラーがあります。 "Car"オブジェクトには属性 "get_absolute_url"がありません。。それを修正するには?クラスを作成する必要があります。 ここに?それともGenericSitemapだけを使うことができますか?私はそれらを使用しないので、私は "フラットページ"をコメントしました。ありがとう。

更新1: URLS.py内:

url(r"^car/$", "cars.views.shop"),
url(r"^car/(?P<car_id>d+)/$", "cars.views.producer"),

回答:

回答№1の15

定義する必要があります 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})

定義したURLに従ってURLリバースメソッドを更新してください。