【问题标题】:AttributeError Django属性错误 Django
【发布时间】:2020-04-29 17:44:30
【问题描述】:

获取“必须使用对象 pk 或 URLconf 中的 slug 调用通用详细视图 ItemDetailView”。

 #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'),
}

【问题讨论】:

    标签: python django


    【解决方案1】:

    它应该是 pk 而不是 pk2,所以将您的 url 配置更改为,

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

    url(...) 可能会在未来的版本中被弃用。因此请使用re_path()


    你可以使用path()函数作为,

    from django.urls import path
    
    urlpatterns = [
        path('item/&ltint:pk>/', views.ItemDetailView.as_view(), name='item-detail'),
    ]

    【讨论】:

      猜你喜欢
      • 2018-05-01
      • 2013-11-03
      • 1970-01-01
      • 2015-12-04
      • 2017-08-02
      • 2013-08-23
      • 1970-01-01
      • 2017-01-22
      相关资源
      最近更新 更多