AttributeError Django - PullRequest
       0

AttributeError Django

0 голосов
/ 29 апреля 2020

Получение "Generi c подробное представление ItemDetailView должен быть вызван с объектом pk или слагом в URLconf".

 #models.py

class Pic(models.Model):
    album = models.ForeignKey(Album, on_delete=models.CASCADE)
    file_type = models.CharField(max_length=100)
    caption = models.CharField(max_length=100)
    is_favorite = models.BooleanField(default=False)

    def get_absolute_url(self):
        return reverse('picture:item-detail', kwargs={ 'pk2': self.pk})

    def __str__(self):
        return self.caption

 #views.py

class ItemDetailView(generic.DetailView):
    model = Pic
    template_name = 'picture/pic.html'

 #urls.py

urlpatterns = {
    url(r'item/(?P<pk2>[0-9]+)/$', views.ItemDetailView.as_view(), name='item-detail'),
}

1 Ответ

0 голосов
/ 29 апреля 2020

это должно быть pk вместо pk2, поэтому измените конфигурацию ваших URL-адресов на

urlpatterns = [
    url(<b>r'item/(?P&ltpk>[0-9]+)/$'</b>, views.ItemDetailView.as_view(), name='item-detail'),
]

url(...), вероятно, будет не рекомендуется в будущих версиях., поэтому используйте re_path()

ИЛИ
Вы можете использовать path() функция как,

from django.urls import path

urlpatterns = [
    <b>path('item/&ltint:pk>/', </b>views.ItemDetailView.as_view(), name='item-detail'),
]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...