flask之url_for()函数解析
官方文档
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的原因:
- 反向构建通常比硬编码的描述性更好。更重要的是,它允许你一次性修改 URL, 而不是到处边找边改。
- URL 构建会转义特殊字符和 Unicode 数据,免去你很多麻烦。
- 如果你的应用不位于 URL 的根路径(比如,在 /myapplication 下,而不是 / ), url_for() 会妥善处理这个问题。
3.url_for()构建url原理:
url_for() 使用endpoint ,通过反向机制构建URL路径
flask之url_for()函数解析相关推荐
- 【Flask】url_for函数
一般我们通过一个 URL 就可以执行到某一个函数.如果反过来,我们知道一个函数,怎么去获得这个 URL 呢? url_for 函数就可以帮我们实现这个功能. url_for的主要目的是:为了按照路由列 ...
- flask之url_for()函数
官方文档 1.url_for()作用: (1)给指定的函数构造 URL. (2)访问静态文件(CSS / JavaScript 等). 只要在你的包中或是模块的所在目录中创建一个名为 static 的 ...
- Flask中的 url_for() 函数
最近在学Python Flask框架,并且学会做一些简单的项目,如做一个网站的登录页面等,其中学到了一个路由反向解析的函数 url_for(),这里做一个小结,供日后复习. 1.URL反转:根据视图函 ...
- flask中url_for的作用
一句话讲清楚url_for是干嘛的,就是高级版的重定向redirect. 就好比,yield是高级版的return一样. # -*- coding: utf-8 -*- import sys relo ...
- Flask werkzeug 源码解析
Flask werkzeug流程大概:执行run_simple ,实际执行为先用make_server 创建一个 BaseServer 实例,然后执行 实例的serve_forever 方法, ser ...
- 我爱Flask之url_for()方法和HTTP请求
黄色标注部分重点注意 文章目录 ==黄色标注部分重点注意== 1. 用url_for来获取对应函数的URL(路由) 2. 指定HTTP的请求方法(POST和GET) 3. 网页跳转和重定向 3.1 重 ...
- Flask中路由使用解析
Flask简介 Flask是一个相对于Django而言轻量级的Web框架. 和Django大包大揽不同,Flask建立于一系列的开源软件包之上,这其中 最主要的是WSGI应用开发库Werkzeug和模 ...
- oracle rpad mysql_Oracle生成不重复票号与LPAD,RPAD与NEXTVAL函数解析
SELECT TO_CHAR(SYSDATE,'YYMMDD')||LPAD(REFUNDSEQ.NEXTVAL,6,'0') AS RES_ORDER_NO FROM DUAL 该语句拼接 时间 与 ...
- json数据解析_VBA 实践指南 -- Split函数解析Json数据
什么是JSON? JSON(JavaScript Object Notation) 是一种及其轻量级的数据交换格式,它是 ECMAScript (欧洲计算机协会制定的JavaScript规范)的一个子 ...
最新文章
- fullpage的应用
- LeetCode Add and Search Word - Data structure design(字典树)
- python右对齐格式化输出_Python中格式化输出的两种方法介绍
- web安全—XSS攻击(二)
- 运行sre10_在生产中运行Java:SRE的观点
- error C2039: “type”: 不是“cv::DataTypeT”的成员 解决办法
- 分布科技荣登海南省实施区块链应用示范揭榜工程名单
- 微型计算机系统软件包括哪些,计算机的软件系统包括哪些内容
- ISO 3166-1 国家编码
- Excel绘制双坐标抽图表
- 为什么要学好数据结构和算法
- Tableau豆瓣电影数据项目实战练习3
- node.js邮箱验证码
- Gitpod---可以在线运行Github上代码的IDE
- 企业微信 事件接收服务器,授权通知事件
- 进入职场瓶颈期?3步摆脱“毛毛虫效应”,不做悲剧的“跟随者”
- 时间序列分析:指数平滑和ARIMA模型
- 24V低压检测电路 - 低压检测电压
- 如何保证测试用例的覆盖率
- 大红鹰电子秤60千克tcs60分度值调5克10克
热门文章
- linux mysql root修复_linux下误删mysql的root用户,解决方法
- 老版本的Spring应用该如何应对这次的RCE漏洞?
- 如何使错误日志更加方便排查问题
- Spring Security 实战干货:自定义配置类入口 WebSecurityConfigurerAdapter
- HTML 转 PDF 新姿势
- RabbitMQ 延迟消息的极限是多少?
- 自律到极致-人生才精致:第9期
- 国内技术原创氛围为什么那么差?记EAWorld(普元)是如何靠“借鉴”产出原创文章的!
- java poi设置单元格格式为数值,Apache POI 如何读取Excel中数值类型单元格所规定的保留小数位?...
- mysql容器重启数据是否丢失_docker重启后数据是否会丢失