官方文档

1.url_for()作用:

(1)给指定的函数构造 URL。
(2)访问静态文件(CSS / JavaScript 等)。 只要在你的包中或是模块的所在目录中创建一个名为 static 的文件夹,在应用中使用 /static 即可访问。

1.1给指定的函数构造 URL:

它接受函数名作为第一个参数,也接受 URL 规则中对应的变量作为参数。未知变量部分会添加到 URL 末尾作为查询参数。

from flask import Flask, url_for
app = Flask(__name__)
@app.route('/')
def index(): pass@app.route('/login')
def login(): pass@app.route('/user/<username>')
def profile(username): passwith app.test_request_context():
print(url_for('index'))
print(url_for('login'))#将未知变量next添加到 URL 末尾作为查询参数
print(url_for('login', next='/'))# 将 URL 规则中对应的变量 username 作为参数
print(url_for('profile', username='John Doe'))output:
/
/login
/login?next=/
/user/John%20Doe

1.2访问静态文件

url_for('static', filename='style.css')
这个文件应该存储在文件系统上的 static/style.css 。

2.选择构建URL而不直接在代码中拼URL的原因:

  1. 反向构建通常比硬编码的描述性更好。更重要的是,它允许你一次性修改 URL, 而不是到处边找边改。
  2. URL 构建会转义特殊字符和 Unicode 数据,免去你很多麻烦。
  3. 如果你的应用不位于 URL 的根路径(比如,在 /myapplication 下,而不是 / ), url_for() 会妥善处理这个问题。

3.url_for()构建url原理:

url_for() 使用endpoint ,通过反向机制构建URL路径

flask之url_for()函数解析相关推荐

  1. 【Flask】url_for函数

    一般我们通过一个 URL 就可以执行到某一个函数.如果反过来,我们知道一个函数,怎么去获得这个 URL 呢? url_for 函数就可以帮我们实现这个功能. url_for的主要目的是:为了按照路由列 ...

  2. flask之url_for()函数

    官方文档 1.url_for()作用: (1)给指定的函数构造 URL. (2)访问静态文件(CSS / JavaScript 等). 只要在你的包中或是模块的所在目录中创建一个名为 static 的 ...

  3. Flask中的 url_for() 函数

    最近在学Python Flask框架,并且学会做一些简单的项目,如做一个网站的登录页面等,其中学到了一个路由反向解析的函数 url_for(),这里做一个小结,供日后复习. 1.URL反转:根据视图函 ...

  4. flask中url_for的作用

    一句话讲清楚url_for是干嘛的,就是高级版的重定向redirect. 就好比,yield是高级版的return一样. # -*- coding: utf-8 -*- import sys relo ...

  5. Flask werkzeug 源码解析

    Flask werkzeug流程大概:执行run_simple ,实际执行为先用make_server 创建一个 BaseServer 实例,然后执行 实例的serve_forever 方法, ser ...

  6. 我爱Flask之url_for()方法和HTTP请求

    黄色标注部分重点注意 文章目录 ==黄色标注部分重点注意== 1. 用url_for来获取对应函数的URL(路由) 2. 指定HTTP的请求方法(POST和GET) 3. 网页跳转和重定向 3.1 重 ...

  7. Flask中路由使用解析

    Flask简介 Flask是一个相对于Django而言轻量级的Web框架. 和Django大包大揽不同,Flask建立于一系列的开源软件包之上,这其中 最主要的是WSGI应用开发库Werkzeug和模 ...

  8. oracle rpad mysql_Oracle生成不重复票号与LPAD,RPAD与NEXTVAL函数解析

    SELECT TO_CHAR(SYSDATE,'YYMMDD')||LPAD(REFUNDSEQ.NEXTVAL,6,'0') AS RES_ORDER_NO FROM DUAL 该语句拼接 时间 与 ...

  9. json数据解析_VBA 实践指南 -- Split函数解析Json数据

    什么是JSON? JSON(JavaScript Object Notation) 是一种及其轻量级的数据交换格式,它是 ECMAScript (欧洲计算机协会制定的JavaScript规范)的一个子 ...

最新文章

  1. fullpage的应用
  2. LeetCode Add and Search Word - Data structure design(字典树)
  3. python右对齐格式化输出_Python中格式化输出的两种方法介绍
  4. web安全—XSS攻击(二)
  5. 运行sre10_在生产中运行Java:SRE的观点
  6. error C2039: “type”: 不是“cv::DataTypeT”的成员 解决办法
  7. 分布科技荣登海南省实施区块链应用示范揭榜工程名单
  8. 微型计算机系统软件包括哪些,计算机的软件系统包括哪些内容
  9. ISO 3166-1 国家编码
  10. Excel绘制双坐标抽图表
  11. 为什么要学好数据结构和算法
  12. Tableau豆瓣电影数据项目实战练习3
  13. node.js邮箱验证码
  14. Gitpod---可以在线运行Github上代码的IDE
  15. 企业微信 事件接收服务器,授权通知事件
  16. 进入职场瓶颈期?3步摆脱“毛毛虫效应”,不做悲剧的“跟随者”
  17. 时间序列分析:指数平滑和ARIMA模型
  18. 24V低压检测电路 - 低压检测电压
  19. 如何保证测试用例的覆盖率
  20. 大红鹰电子秤60千克tcs60分度值调5克10克

热门文章

  1. linux mysql root修复_linux下误删mysql的root用户,解决方法
  2. 老版本的Spring应用该如何应对这次的RCE漏洞?
  3. 如何使错误日志更加方便排查问题
  4. Spring Security 实战干货:自定义配置类入口 WebSecurityConfigurerAdapter
  5. HTML 转 PDF 新姿势
  6. RabbitMQ 延迟消息的极限是多少?
  7. 自律到极致-人生才精致:第9期
  8. 国内技术原创氛围为什么那么差?记EAWorld(普元)是如何靠“借鉴”产出原创文章的!
  9. java poi设置单元格格式为数值,Apache POI 如何读取Excel中数值类型单元格所规定的保留小数位?...
  10. mysql容器重启数据是否丢失_docker重启后数据是否会丢失