得到了意想不到的关键字参数' pk'

时间:2016-08-07 09:11:26

标签: python django

我有一个类列表,我需要获取某些类的信息(即学生姓名,班长等)。显示类列表(localhost:8000/classes)没有问题,但是当我对特定类(localhost:8000/classes/nice_guys)进行寻址时,我会收到class_list() got an unexpected keyword argument 'pk' error

views.py

def class_list(request):
    classes = Class.objects.all()
    return render(request, 'classes/class_list.html', {'classes': classes})

def class_display(request, pk):
    class_to_display = get_object_or_404(Class, pk=pk)
    return render(request, 'classes/class_display.html', {'class_to_display': class_to_display})

申请 urls.py

urlpatterns = [
    url(r'(?P<pk>\w+)', views.class_display),
    url(r'', views.class_list),
]

urls.py

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^classes/(?P<pk>\w+)', include('students.urls')),
    url(r'^classes', include('students.urls')),
    url(r'^$', views.hello_world)
]

1 个答案:

答案 0 :(得分:3)

你包括学生网址两次,一次是pk参数,这没有任何意义:这意味着它将被传递到每个视图,包括class_list,它不会期待它(和class_display一次会收到它两次)。删除第一个包含。