2013-01-21 73 views
0

看起來像它應該工作...但.. 這裏是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 請求URL:.../lesson/superfarts Django版本:1.4.1 異常類型:DoesNotExist 異常值:課程匹配查詢不存在。

,並跟它問題是在這裏:教訓= Lesson.objects.get(塞=課)

當我做「蟒蛇manage.py殼」 相同的同一查詢我得到的結果我在尋找。

+0

驗證上殼你正在做完全一樣的查詢,並且''lesson'的exaclt相同的值。 – Rohan

+1

具體來說,請確保manage.py shell中的'Lesson.objects.get(slug ='superfarts')'獲得預期的結果。 – Caspar

回答

1

試圖改變它爲:

(r'^lesson/(?P<lesson>[a-zA-Z0-9-]+)/$', 'use_lesson.views.Use_Lesson') 
+0

這一個工作表示感謝!但我真的不明白這個區別? – rafirosenberg

+0

我現在再看看,似乎你的原始網址應該工作。你可以在'lesson' var中打印嗎? – sneawo

0

甲slugfield是在正則表達式由\最好表示W的等於[A-ZA-Z0-9_]

(r'^lesson/(?P<lesson>\W+)/$', 'use_lesson.views.Use_Lesson') 
+0

謝謝...這看起來應該可以工作,但由於某種原因它沒有? – rafirosenberg

相關問題