知道了url就可以找到对应的视图函数,那么现在问题来了,如果我们知道了视图函数,要怎么找到url呢?这时候我们就需要url_for函数了。 url_for()作用: (1)给指定的函数构造 URL。 (2)访问静态文件(CSS / JavaScript 等)。 只要在你的包中或是模块的所在目录中创建一个名为 static 的文件夹,在应用中使用 /static 即可访问。 如:print url_for('hello_world') 或return url_for('hello_world') ,可输入结果为/
return url_for('static',filename='33/2.txt') 可输出static/33/2.txt 它接受函数名作为第一个参数,也接受 URL 规则中对应的变量作为参数。未知变量部分会添加到 URL 末尾作为查询参数。 print(url_for('login', next='/')) 输出:/login?next=/ 在html中使用时采用下面格式: 在index.html这个文件中,添加 <p><a href="{{ url_for('login') }}">登录</a></p> 选择构建URL而不直接在代码中拼URL的原因: (1)反向构建通常比硬编码的描述性更好。更重要的是,它允许你一次性修改 URL, 而不是到处边找边改。 (2)URL 构建会转义特殊字符和 Unicode 数据,免去你很多麻烦。 (3)如果你的应用不位于 URL 的根路径(比如,在 /myapplication 下,而不是 / ), url_for() 会妥善处理这个问题。 |
|