带有斜杠前导/过渡斜杠且不带斜杠的路由

时间:2018-09-26 11:37:48

标签: python flask

您能给我解释一下两者之间的区别吗?

@app.route( '/something' )

相比:

@app.route( 'something/' )

,并且还与:

@app.route( 'something' )

所以我可以更好地区分它们?

1 个答案:

答案 0 :(得分:2)

总而言之,/foo是正常的用例,当您想使URL看起来像路径/文件夹时,就使用/foo/,而foo是错误的。如果我错了,请纠正我。

  1. URL规则应以斜杠(/)开头。
  2. /foo/foo/是两个不同的URL规则,请参阅文档中的详细信息:
  

以下两个规则在使用斜杠时有所不同。

 @app.route('/projects/') 
 def projects():
     return 'The project page'

 @app.route('/about') 
 def about():
     return 'The about page' 
  

项目端点的规范URL带有斜杠。类似于文件中的文件夹   系统。如果您访问的网址不带斜杠,则Flask   将您重定向到带斜杠的规范URL。

     

about端点的规范URL没有结尾   削减。它类似于文件的路径名。通过访问URL   尾部的斜杠会产生404“未找到”错误。这有助于保持   这些资源特有的网址,可帮助搜索引擎避免   索引同一页两次。

链接:http://flask.pocoo.org/docs/1.0/quickstart/#unique-urls-redirection-behavior