Flask URL 构建

17 Mar 2025 | 阅读 2 分钟

url_for() 函数用于动态构建指向特定函数的 URL。第一个参数是指定函数的名称,然后我们可以传递任意数量的关键字参数,这些参数对应于 URL 的变量部分。

这个函数很有用,因为我们可以通过使用这个函数动态构建 URL,从而避免将 URL 硬编码到模板中。

考虑以下 python flask 脚本。

示例

上面的脚本模拟了图书馆管理系统,该系统可供三种类型的用户使用,即管理员、图书管理员和学生。有一个名为 user() 的特定函数,它识别用户并将用户重定向到包含此特定函数实现的准确函数。

Flask URL Building

例如,URL https://:5000/user/admin 被重定向到 URL https://:5000/admin,URL localhost:5000/user/librarion 被重定向到 URL https://:5000/librarion,URL https://:5000/user/student 被重定向到 URL https:///student。

动态 URL 构建的好处

  1. 它避免了 URL 的硬编码。
  2. 我们可以动态更改 URL,而无需记住手动更改的硬编码 URL。
  3. URL 构建透明地处理特殊字符和 Unicode 数据的转义。
  4. 生成的路径始终是绝对路径,避免了浏览器中相对路径的意外行为。
  5. 如果您的应用程序放置在 URL 根目录之外,例如在 /myapplication 而不是 /,url_for() 会为您正确处理。

下一主题Flask HTTP 方法