我正在查看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()
时该怎么办?
答案 0 :(得分:2)
callback
是urls.py
中与您正在访问的网址相匹配的视图。 Django通过调用resolver.resolve
来获取此callback
(在您链接到的文件的Django 1.4版本中,这发生在line 98上)。
在Python中,函数是对象,因此resolver.resolve
可以返回一个稍后可以调用的函数。