【问题标题】:Django function not being called没有调用Django函数
【发布时间】:2011-09-19 11:31:55
【问题描述】:

我有一个 url conf 如下:

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 没有打印到终端,我不知道为什么。

谁能帮忙?

【问题讨论】:

  • szaman 关于正则表达式确实是正确的。但是,当您说它没有被调用时,您的意思是什么?您在浏览器中看到的是什么页面?如果 Django 找不到匹配的正则表达式,它会给你一个 500 错误,并且在 settings.py 中使用Debug=True 它也会给你它尝试过的所有正则表达式。这个正则表达式是在基本 urls.py 中还是在应用程序中? INSTALLED_APPS 设置中是否存在该应用程序?您是否有一个正则表达式,可以匹配您插入的 URL,从而“窃取”请求? :)

标签: django url view


【解决方案1】:

网址正则表达式是否正确?我认为其中不应该有 {。您还可以命名您传递给视图的参数

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

【讨论】:

  • 嗨,我改变了它,它仍然没有在终端打印'AHHH'
  • 你用什么网址来测试它?
猜你喜欢
  • 2018-10-08
  • 2020-04-28
  • 2022-11-10
  • 2020-10-15
  • 1970-01-01
  • 2018-04-25
  • 1970-01-01
  • 2018-05-30
  • 2021-08-14
相关资源
最近更新 更多