gpt4 book ai didi

django - 索引错误 : tuple index out of range

转载 作者:行者123 更新时间:2023-11-29 12:33:43 27 4
gpt4 key购买 nike

我指的是 django documentation 的这一页写意见。有人可以解释我做错了什么吗?什么是解决方案

    self.object_list = self.get_queryset()
File "/vagrant/projects/kodeworms/course/views.py", line 23, in get_queryset
self.Course = get_object_or_404(Course, name=self.args[0])
IndexError: tuple index out of range

我的views.py文件

# Create your views here.
from django.views.generic import ListView, DetailView
from django.shortcuts import get_object_or_404

from .models import Course, Content


class PublishedCourseMixin(object):
def get_queryset(self):
queryset = super(PublishedCourseMixin, self).get_queryset()
return queryset.filter(published_course=True)


class CourseListView(PublishedCourseMixin, ListView):
model = Course
template_name = 'course/course_list.html'

class CourseContentListView(ListView):
model = Content
template_name = 'course/content_list.html'

def get_queryset(self):
self.Course = get_object_or_404(Course, name=self.args[0])
return Content.objects.filter(course=self.course, published=True)

我的 urls.py 文件

from django.conf.urls import patterns, url

from . import views

urlpatterns = patterns('',
url(r"^$", views.CourseListView.as_view(), name="list" ),
url(r"^(?P<slug_topic_name>[\w-]+)/$", views.CourseContentListView.as_view(), name="list"),
)

最佳答案

您正在使用用于位置参数的 self.args[0],但您将关键字参数传递给您的 View 。

因为您没有位置参数,self.args 是一个零长度元组,这就是您得到该异常的原因。

你应该使用 self.kwargs['slug_topic_name'] 因为你的 url 中有关键字参数。

关于django - 索引错误 : tuple index out of range,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17906936/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com