有效的请求网址是否会在web2py中具有“.html”扩展名?

时间:2016-10-05 14:18:59

标签: python validation web2py

web2py book's "Core" chapter说:

  

web2py映射格式的GET / POST请求:

http://127.0.0.1:8000/a/c/f.html/x/y/z?p=1&q=2
  

在应用程序a中的控制器“c.py”中运行f,

但是,我认为真正有效的网址中不会包含.html。事实上,在我们读到的同一页面上:

  

网址只允许包含字母数字字符,下划线和斜杠; args可能包含非连续点。在验证之前,空格将被下划线替换。

很明显.html不是args的一部分,但它有一个点。因此,示例URL与页面下方记录的有效URL相矛盾。

1 个答案:

答案 0 :(得分:2)

web2py使用点后面的部分来呈现正确的视图。 a/c/f.htmla/c/f.json都会在f控制器中调用相同的函数(c.py),但前者将呈现views/c/f.html而后者views/c/f.json (如果存在,否则它将在localhost中呈现views/generic.json或在生产中引发404)。

请注意,可以省略扩展名,默认值为.html。此外,您可以在控制器中设置response.view以更改默认行为。

是的,有效的网址可能有扩展名。

希望它有所帮助!