意外的kawrgs,/courses/course/1/1处的TypeError/

2024-04-26 19:14:11 发布

您现在位置:Python中文网/ 问答频道 /正文

我得到了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),
]

Tags: djangofromimporturlgetobjectrequeststep