我有一个类列表,我需要获取某些类的信息(即学生姓名,班长等)。显示类列表(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)
]
答案 0 :(得分:3)
你包括学生网址两次,一次是pk参数,这没有任何意义:这意味着它将被传递到每个视图,包括class_list,它不会期待它(和class_display一次会收到它两次)。删除第一个包含。