我得到了pk的类型错误。 比如:
step\u detail()为/courses/course/1/1中的第二个关键字参数'pk'获取了一个意外的关键字参数,在下面的step\u detail方法中已经注意到了这一点。我做错什么了?你知道吗
你知道吗视图.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})
以及网址.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),
]
您正在使用两个不同的变量名:
pk
在urls.py
step_pk
在views.py
你应该用同一个名字。你知道吗
相关问题 更多 >
编程相关推荐