2011-09-19 56 views
0

我有一個網址的conf如下:Django的功能不會被調用

url(r'^books/(?{<id>\d+)/personal/$',twobooks.timetable.views.getPersonalizedTimetable), 

getPersonalizedTimeTable如下:

def getPersonalizedTimetable(request, id): 
     print "AHHH" 
     usedTimeSlots = TimeSlot.objects.filter(user = request.user) #All the time slots that hte user has 
     groups = TwobooksGroup.objects.filter(users = request.user) 
     print groups 
     for group in groups: 
      books.append(group.book) 
     slots = [] 
     for usedTimeSlot in usedTimeSlots: 
       slot = { 
         'id': usedTimeSlot.id, 
         'startTime': str(usedTimeSlot.startTime), 
         'endTime': str(usedTimeSlot.endTime), 
        } 
       slots.append(slot) 

     return render_to_response(
       'books/personal.html', 
       { 
         'request': request, 
         'timeslots':slots, 
         'books':books, 
       }, 
       context_instance = RequestContext(request) 
     ) 

出於某種原因,上面甚至沒有被調用。 AHHH沒有被打印到終端,我不知道爲什麼。

任何人都可以幫忙嗎?

+0

szaman的確是正確的正則表達式。但是當你說它沒有被叫時,你是什麼意思?你在瀏覽器中看到了哪些頁面?如果Django無法找到匹配的正則表達式,它會給你一個500錯誤,並且在settings.py中使用'Debug = True',它會給你所有嘗試的正則表達式。這是基於urls.py或應用程序中的正則表達式嗎?該應用是否存在於「INSTALLED_APPS」設置中?你有這個正則表達式,可以匹配你插入的URL,從而「竊取」請求嗎? :) – haeric

回答

4

是否正確的URL正則表達式?我認爲不應該在裏面。你也可以命名參數,你通過查看

url(r'^books/(?P<id>\d+)/personal/$',twobooks.timetable.views.getPersonalizedTimetable), 
+0

嗨,我改變了這一點,它仍然沒有在終端上打印'AHHH' – praks5432

+1

你用什麼URL來測試它? –