Я пытаюсь использовать reverse для get_absolute_url в одной из моих моделей. Тем не менее, он возвращает пустую строку.Обратное возвращение пустой строки в get_absolute_url
url.py
url(
regex=r'^$',
view=SocietyView.as_view(),
name='society',
),
url(
regex=r'^(?P<tagname>[\w ]+)/?$',
view=SocietyView.as_view(),
name='society_with_tag',
),
model.py
class Tag(models.Model):
name = models.CharField(max_length=64, unique=True)
posts = models.ManyToManyField(Post, related_name='tags', null=True, blank=True)
def __unicode__(self):
return self.name
def get_absolute_url(self):
return reverse("society_with_tag", kwargs={"tagname": self.name})
template.html
<a href="{{ tag.get_absolute_url }}">
{{ tag.name }}
</a>
result.html
<a href="">
tag
</a>
Я незнаком с Джанго 'обратная функция()', но следует не 'kwarg' ключ в' get_absolute_url() '' быть "tag.name" ', а не' 'тэг" '? –
Kwargs предназначены для url.py, который имеет имя. Следовательно, «тэг» правильный. Я думаю ... –
taelimoh
Ах. Я вижу, как я уже сказал, я не знаком с картой Django. –