Python Django 2.1.2:必须在URLconf中使用对象pk或slug调用通用详细视图SchoolDetailView
我是django的新手,不知道什么是pk或slug。发生了什么事 models.py:Python Django 2.1.2:必须在URLconf中使用对象pk或slug调用通用详细视图SchoolDetailView,python,django,Python,Django,我是django的新手,不知道什么是pk或slug。发生了什么事 models.py: class School(models.Model): name = models.CharField(max_length=256) principal = models.CharField(max_length=256) location = models.CharField(max_length=256) def __str__(self): retur
class School(models.Model):
name = models.CharField(max_length=256)
principal = models.CharField(max_length=256)
location = models.CharField(max_length=256)
def __str__(self):
return self.name
模板页面:
<a class="navbar-brand" href="{% url 'basic_app:list'%}">Schools</a>
views.py:
class SchoolDetailView(DetailView):
context_object_name = 'school_detail'
model = models.School
template_name = 'basic_app/school_detail.html'
详细视图用于获取特定对象的详细信息。为了做到这一点,您必须在url中传递pk
urlpatterns = [
path('<int:pk>/', SchoolDetailView.as_view(), name='school-detail'),
urlpatterns=[
路径(“/”,SchoolDetailView.as_view(),name='school-detail'),
]
如果要显示对象列表,请使用ListView详细视图用于获取特定对象的详细信息。为了做到这一点,您必须在url中传递pk
urlpatterns = [
path('<int:pk>/', SchoolDetailView.as_view(), name='school-detail'),
urlpatterns=[
路径(“/”,SchoolDetailView.as_view(),name='school-detail'),
]
如果要显示对象列表,请使用ListView您的困惑似乎更深;你把细节和清单搞混了。您想要所有学校的列表,还是单个学校的详细信息?但是,如果你不理解pks或slugs,那么你显然没有阅读教程,所以你应该在做任何其他事情之前马上去做。我想要所有学校的列表。为什么你使用DetailView而不是ListView?你的困惑似乎更深;你把细节和清单搞混了。您想要所有学校的列表,还是单个学校的详细信息?但是如果你不理解pks或slugs,那么你显然没有阅读教程,所以你应该在做任何其他事情之前马上去做。我想要所有学校的列表。为什么你使用DetailView而不是ListView?你能告诉我如何在url中传递pk吗,谢谢你必须在你的模板url中传递这个pk谢谢我现在知道了你能告诉我如何在url中传递pk吗,谢谢你必须在你的模板url中传递这个pk谢谢我现在知道了