【发布时间】:2013-07-28 05:36:21
【问题描述】:
我指的是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"),
)
【问题讨论】:
-
你能发布你的整个 def get_queryset(self) 吗?另外,我怀疑您已经按照教程进行操作,您是如何访问此视图的?
-
我猜
self.args是空的。 -
@limelights 更新了我的问题
-
您是如何访问它的?您的
args为空,这就是您收到该错误的原因。 -
@limelights 我是 python 和 django 的初学者。你会推荐我做什么/读什么?
标签: django postgresql django-models django-views