Flask的网址规则是基于Werkzeug的routing模块.这个模块背后的思想是确保 好看以及唯一的网址,基于Apache和一些创建较早的服务器.
以如下两个规则为例
@app.route('/projects/')
def projects():
pass
@app.route('/about')
def about():
pass
他们看起来相似,不同在于网址定义中结尾的斜线.第一种情况是规范网址 projects
端点有一个斜线. 从这种意义上讲,和文件夹有些类似.
在这种定义下:访问没有斜线的网址会被Flask重定向到带有斜线的规范网址去.
然而在第二种情况下的网址的定义没有斜线,这种行为类似于访问一个文件
在这种定义下: 访问一个带斜线的网址将会是一个404错误.
为什么这样做?用户访问网页的时候可能会忘记了斜线,这样可以使得相关的网 址能继续工作.这种行为和Apache以及其它服务器工作方式类似.另外网址保持唯一有助于搜索引擎不会索引同一页面两次.