Django No Reverse Match
Такой вопрос,знаю, что ответ может быть максимально понятным и примитивным, но хоть убейте не могу поменять Готов принять любую критику за свою тупость
При попытке вызова в шаблоне index.html "{{ post.get_absolute_url }}" Django выводит ошибку NoReverseMatch Выводится эта ошибка, только если запихиваю его на кнопку в тайтле, хотя фото, название и всё остальное выводит правильно Index.html:
{% extends 'base.html' %}
{% load static %}
{% block title %}
{{ title }}
{% endblock %}
{% block content %}
<div class="container">
<div class="row">
{% for post in posts %}
<div class="col-md-3 ms-5 mt-5">
{% if post.photo %}
<img src="{{ post.photo.url }}" alt="{{ post.title }}" width="150">
{% else %}
<img src="https://picsum.photos/seed/picsum/200/350" alt="{{ post.title }}">
{% endif %}
<h3><a href="{{ post.get_absolute_url }}">{{ post.title }}</a></h3>
<h4>{{ post.price }}</h4>
</div>
{% endfor %}
</div>
{% include 'inc/_pagination.html' %}
</div>
{% endblock %}
Models.py:
class Posts(models.Model):
title = models.CharField(max_length=255, verbose_name='Название игры')
slug = models.SlugField(max_length=255, verbose_name='Url', unique=True)
content = models.TextField(blank=True, verbose_name='Контент')
photo = models.ImageField(upload_to='photos/%Y/%m/%d/', blank=True, verbose_name='Фото')
views = models.IntegerField(default=0, verbose_name='Количество просмотров')
price = models.IntegerField(default=0, verbose_name='Цена')
genre = models.ManyToManyField(Genre, blank=True, related_name='posts')
platform = models.ManyToManyField(Platform, blank=True, related_name='posts')
def __str__(self):
return self.title
def get_absolute_url(self):
return reverse('post', kwargs={'slug': self.slug})
class Meta:
ordering = ['title']
verbose_name = 'Пост'
verbose_name_plural= 'Посты'