【发布时间】:2013-01-21 04:33:17
【问题描述】:
似乎它应该可以工作......但是...... 这是views.py
from django.shortcuts import render_to_response
from django.template import RequestContext
from create_lesson.models import Lesson
from django.contrib.auth.models import User
from add_material.models import Materials
def Use_Lesson(request, lesson):
user=request.user
lessons = Lesson.objects.get(slug=lesson)
lessons.attributes=Materials.objects.filter(lesson=lessons.pk)
context = {'user':user,'lesson':lessons,}
return render_to_response('use_lesson/use_lesson.html', context, context_instance=RequestContext(request))
urls.py 看起来像这样
from django.conf.urls.defaults import *
urlpatterns= patterns('',
(r'^browse/', 'use_lesson.views.Browse'),
(r'^lesson/(?P<lesson>[a-zA-Z0-9-]+)', 'use_lesson.views.Use_Lesson'),
这是基本的错误信息 请求方法:GET 请求网址:.../lesson/superfarts Django 版本:1.4.1 异常类型:DoesNotExist 异常值:课程匹配查询不存在。
它是说问题出在这里:课程 = Lesson.objects.get(slug=lesson)
当我在“python manage.py shell”中执行相同的查询时 我得到了我正在寻找的结果。
【问题讨论】:
-
在 shell 上验证您正在执行完全相同的查询,
lesson的值完全相同。 -
具体来说,确保 manage.py shell 中的
Lesson.objects.get(slug='superfarts')为您提供预期的结果。
标签: django