什么是django请求处理程序回调()

时间:2015-03-04 18:32:29

标签: python django

我正在查看Django 1.4中的http请求的基本处理程序(base.py,https://github.com/django/django/blob/stable/1.4.x/django/core/handlers/base.py#L109)。

代码循环通过请求中间件和视图中间件之后,如果第107行response is None,则可以看到它再次检查。然后它尝试运行callback()函数(第109行) )。我想知道这个方法的定义。我正在查看堆栈跟踪中的错误,并且在调用此方法之后,跟踪中的下一行是针对我的开发环境中不存在的文件(其中没有发生错误)。所以,显然,callback()做了一些我不熟悉的事情。这是配置设置,python关键字还是什么?

当Django / python在第109行到达callback()时该怎么办?

1 个答案:

答案 0 :(得分:2)

callbackurls.py中与您正在访问的网址相匹配的视图。 Django通过调用resolver.resolve来获取此callback(在您链接到的文件的Django 1.4版本中,这发生在line 98上)。

在Python中,函数是对象,因此resolver.resolve可以返回一个稍后可以调用的函数。