python - 运行开发服务器时在 Django 应用程序上列出超出范围的索引

标签 python django django-views

我刚找到一份为网站工作的新工作,我正在尝试让开发服务器在我的工作计算机上运行。我已经复制了所有配置,但我仍然遇到错误。

当我尝试显示首页时,我得到了

list index out of range

正在引发异常

python2.6/site-packages/Django-1.3-py2.6.egg/django/db/models/query.py in __getitem__, line 190

这里是回溯信息。

Environment:


Request Method: GET
Request URL: http://localhost:8000/

Django Version: 1.3
Python Version: 2.6.5
Installed Applications:
['django.contrib.auth',
 'django.contrib.contenttypes',
 'django.contrib.sessions',
 'django.contrib.admin',
 'django.contrib.sites',
 'django.contrib.flatpages',
 'django.contrib.markup',
 'south',
 'radio.frontend',
 'radio.events',
 'radio.library',
 'radio.logs',
 'radio.station',
 'radio.staff',
 'gravatar',
 'djcelery',
 'gunicorn']
Installed Middleware:
('django.middleware.common.CommonMiddleware',
 'django.contrib.sessions.middleware.SessionMiddleware',
 'django.contrib.auth.middleware.AuthenticationMiddleware',
 'django.middleware.doc.XViewMiddleware',
 'django.contrib.flatpages.middleware.FlatpageFallbackMiddleware')


Traceback:
File "/home/wluw/wluw/lib/python2.6/site-packages/Django-1.3-py2.6.egg/django/core/handlers/base.py" in get_response
  111.                         response = callback(request, *callback_args, **callback_kwargs)
File "/home/wluw/wluw/wluw/radio/frontend/views.py" in home
  20.     schedule = Schedule.objects.get_current_schedule(now)
File "/home/wluw/wluw/wluw/radio/station/managers.py" in get_current_schedule
  64.         return results[0]
File "/home/wluw/wluw/lib/python2.6/site-packages/Django-1.3-py2.6.egg/django/db/models/query.py" in __getitem__
  190.             return list(qs)[0]

Exception Type: IndexError at /
Exception Value: list index out of range

这是我得到的一些添加到错误中的代码

class ScheduleManager(models.Manager):
    def get_current_schedule(self, when):
        results = self.filter(start_date__lte=when, end_date__gte=when).order_by('-start_date')
        #try:
        #if(results[0]):
        return results[0]
        #else:
           # return "null"
        #
        #except IndexError:
            #raise self.model.DoesNotExist

    def get_current_schedule_or_404(self, when):
        try:
            return self.get_current_schedule(when)
        except self.model.DoesNotExist:
            raise Http404

我仍然不熟悉 python,所以任何关于在哪里修改代码的建议都会很棒。 我感觉这与未填充数据的数据库有关,但我添加了一些东西,但仍然出现错误。

感谢您提供的任何帮助。

如果您需要更多信息,请告诉我。

最佳答案

回溯告诉您问题出在哪里。主页试图显示最上面的时间表 - 但您的数据库中没有任何时间表。你需要创造一些。

关于python - 运行开发服务器时在 Django 应用程序上列出超出范围的索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7052261/

相关文章:

Python SimpleHTTPServer 404 页面

python - 如何在 Django 过滤器的 kwargs 中传递用户名?

python - django mysql 强制使用索引

django - 模型表单标签翻译

django - 将实例传递给 Django 表单集

python - 来自 python 的文件中的文本/字数计数

python - 使用 python 在现有 xml 文档中插入 xml 节点

c++ - 在 C++ 中传递命令行参数

Django 自递归 ManyToManyField 过滤查询

python - 每个答案都有多个分数类别的 Django 调查问卷