2016-09-14 27 views
0

我得到了pk的類型錯誤。 類似於:意外的kawrgs,TypeError在/ courses/course/1/1/

step_detail()在/ courses/course/1/1中獲得了第二個意外的關鍵字參數'pk',因爲它已經在step_detail的以下方法中注意了。我究竟做錯了什麼?

views.py

from django.shortcuts import render 
from django.shortcuts import get_object_or_404 
from .models import Course, Step 


def course_list(request): 
    courses = Course.objects.all() 
    return render(request, 'courses/course_list.html', {'courses': courses}) 


def course_detail(request, pk): 
    # course=Course.objects.get(pk=pk) 
    course = get_object_or_404(Course, pk=pk) 
    return render(request, 'courses/course_detail.html', {'course': course}) 


def step_detail(request, course_pk, step_pk): 
    step = get_object_or_404(Step, course_id=course_pk, pk=step_pk) 
    return render(request, 'courses/step_detail.html', {'step': step}) 

而且url.py:

from django.conf.urls import url 
from . import views 

urlpatterns= [ 
    url(r'^$', views.course_list), 
    url(r'(?P<course_pk>\d+)/(?P<pk>\d+)/$', views.step_detail), 
    url(r'(?P<pk>\d+)/$', views.course_detail), 
] 

回答

1

您正在使用2個不同的變量名:

  • pkurls.py
  • step_pkviews.py

您應該使用相同的名稱。

+1

工作就像一個魅力!謝謝!我是新的設置網址如此.. –

+0

沒問題,接受將不勝感激的答案。 – Saksow