2016-08-07 157 views
1

私はクラスのリストを持っており、特定のクラス(学生名、クラスモニターなど)の情報を取得する必要があります。クラスリスト(localhost:8000/classes)の表示に問題はありませんが、特定のクラス(localhost:8000/classes/nice_guys)をアドレス指定している場合、私はclass_list() got an unexpected keyword argument 'pk' errorを受け取ります。予期しないキーワード引数 'pk'があります

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) 
] 

答えて

3

あなたはincludiです生徒のurlを2回、pk引数を1回使用すると意味がありません。これは、class_listを含むすべてのビューに渡されることを意味します(class_displayはclass_displayを2回受け取ることになります)。その最初のインクルードを削除します。

+0

これはうまくいきました。ありがとう! –

関連する問題