@PyChan

Почему возникает ошибка 404 при использовании get_absolute_url?

В models.py:
class Items(models.Model):
    id = AutoField(primary_key=True)
    name = CharField(max_length=150)
    date = DateField(default=timezone.now())
    marks = ForeignKey(Marks, on_delete=models.DO_NOTHING, null=True)
    category = ForeignKey(Cats, on_delete=models.DO_NOTHING, null=True)
    price = DecimalField(max_digits=7, decimal_places=2)
    previous_price = DecimalField(max_digits=7, decimal_places=2, null=True)
    article_number = CharField(max_length=150)
    description = TextField(null=True)
    picture = TextField(null=True)
    video = TextField(null=True)
    objects = models.Manager()

    def get_absolute_url(self):
        return "/item/%i/" % self.id

в urls.py:
urlpatterns = [path('', views.index, name='index'), path('add_item/<int:id>', views.add_item, name='add_item'),
               path('register', views.add_user, name='register'), path('item/<int:id>', views.item, name='item')]


В views.py:
def item(request, id):
    context = {'cats_nav': Cats.objects.filter(location='nav'), 'objects': Items.objects.get(id=id)}
    return render(request, 'index.html', context)

При переходе по адресу item/1 воникает ошибка. Почему так?
  • Вопрос задан
  • 16 просмотров
Решения вопроса 1
@bacon
Не надо так хардкодить, используй reverse, про это в доках прямо сказано
Ну и item/1 vs item/1/
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы