python - 带有前导/尾随斜杠且不带斜杠的路线
问题描述
您能否向我解释一下两者之间的区别:
@app.route( '/something' )
相比:
@app.route( 'something/' )
并且还与:
@app.route( 'something' )
所以我可以更好地区分它们?
解决方案
总之,/foo
这是正常的用例,/foo/
当你想让 URL 看起来像一个路径/文件夹时使用,foo
是错误的。如果我错了,请纠正我。
- URL 规则应以斜杠 (
/
) 开头。 /foo
并且/foo/
是两个不同的 URL 规则,请参阅文档中的详细信息:
以下两条规则在使用斜杠时有所不同。
@app.route('/projects/')
def projects():
return 'The project page'
@app.route('/about')
def about():
return 'The about page'
项目端点的规范 URL 有一个尾部斜杠。它类似于文件系统中的文件夹。如果您访问的 URL 没有尾部斜杠,Flask 会将您重定向到带有尾部斜杠的规范 URL。
about 端点的规范 URL 没有尾部斜杠。它类似于文件的路径名。使用尾部斜杠访问 URL 会产生 404“未找到”错误。这有助于使这些资源的 URL 保持唯一性,从而帮助搜索引擎避免将同一页面编入两次索引。
链接: http: //flask.pocoo.org/docs/1.0/quickstart/#unique-urls-redirection-behavior
推荐阅读
- node.js - 在 NODE JS 中获取 mongo 池连接统计信息
- gradle - 如何获取所有包含的项目?
- visual-c++ - 插入 blob 时光标位置无效
- wolfram-mathematica - 使用 Mathematica 进行验证
- python - python lambda里面的for循环
- networking - 门铃和门铃记录有什么区别?
- microsoft-graph-api - 作业中的 NextLink 似乎不起作用
- omnet++ - 如何修复“未在此范围内声明”错误
- ios - ios应用程序是否必须注册功能才能在iTune上上传
- amazon-web-services - Amazon sagemaker 生命周期配置不起作用