Django docs:resolve()代码示例

时间:2012-10-13 17:45:15

标签: django django-views

我对resolve documentation末尾的代码示例感到困惑(“测试视图是否会在重定向到它之前引发Http404错误”)。有人可以提供有关此代码的解释 - 它正在做什么以及它是如何工作的?我不知道发生了什么。

例如,当resolve本身可以抛出Resolver404时,为什么需要调用视图来测试它是否会抛出404?当代码调用视图函数时,它通过关键字参数向其发出请求,但在此之前使用其他参数。但是,视图不应该将request作为其第一个参数吗?为什么使用referer标头?

由于

1 个答案:

答案 0 :(得分:1)

仅当路径未解析为URL / View函数时,才会抛出

Resolver404

视图函数本身仍然可以根据输入参数引发404,例如错误的ID。

Theres 2问题:

  • 成功解析正则表达式网址匹配'^/(?P<foo>\d+)\d/$'
  • 确保带参数foo的视图功能不会引发404。

你是对的,通过这个例子,request应该是第一个参数。如果有任何url *args(未命名的regexp匹配),请求将被添加两次,因为它通常是第一个参数。也许是示例中的一个错误?