5. 链接辅助函数 与 使用静态文件
来源:互联网 发布:软件著作权 代码格式 编辑:程序博客网 时间:2024/05/04 18:43
1、链接辅助函数url_for()
为什么要有这个函数?待会再说,先用起来。
首先,在hello.py中from flask import Flask, render_template后面加上url_for,然后在定义的index()函数中定义变量
img=url_for('static', filename='favicon.ico') # url_for的参数,'static'表示文件类型,filename用来存文件在static文件夹中的路径
return render_template('index.html', img=img) #末尾加上img=img
接着,去模板文件index.html中设置图片显示,在内容块({% block page_content %})中添加
<img src="{{img}}" />
然后重启服务器,在浏览器中就可以看到图片了(就是那个小辣椒)。
再来看为什么的问题,树上这么写的:
”在模板中直接编写简单路由的URL链接不难,但对于包含可变部分的动态路由,在模板中构建正确的URL就很困难。而且,直接编写URL会对代码中定义的路由产生不必要的依赖关系。如果重新定义路由,模板中的链接可能会失效。为了避免这些问题,Flask提供了url_for()辅助函数。“
对这段话并不理解,可能是因为我定义URL过程中没遇到那些问题。存疑,以后再回来理解。
再补充点url_for()的用法:
1. 直接以视图函数作参数,返回对应的URL。
比如当前的hello.py中调用url_for(‘index’)则返回/。
调用url_for(‘index’, _external=True)返回的则是绝对地址,http://localhost:5000/。
2. 使用url_for()生成动态地址时,将动态部分作为关键字参数传入。
如:url_for(‘user’, name=’john’, _external=True)的返回结果是http://localhost:5000/user/john。
3. 添加额外参数到查询字符串中。
如:url_for(‘index’, page=2)的返回结果是/?page=2。
2、使用静态文件
静态文件,指不含变量、不会被脚本或浏览器改动的文件,比如图片/HTML文件/CSS文件/javascript源码等。
Flask处理静态文件要注意两点:
一是静态文件位置,要存放在Python脚本同级的static文件夹中,如果需要,可以建立子文件夹;
二是处理方法,既可以在脚本中编码涉及,也可以在模板文件中涉及。
用法就是简单的文件调用,可以直接通过文件路径访问,也可以用url_for()函数访问。
- 5. 链接辅助函数 与 使用静态文件
- matlab 辅助函数 —— 文件下载与文件解压
- 静态链接库与动态链接库导出函数详解
- 静态链接库与动态链接库使用详解
- 静态链接库与动态链接库的使用
- Linux 静态链接库与动态链接库之一:静态链接库生成及使用
- .h .lib .dll文件,静态链接库与动态链接库,静态调用与动态调用
- 使用 MFC 套接字在静态链接 MFC VisualC++6.0 应用程序, 辅助线程中发生处理异常。
- Flask: 链接、静态文件
- 静态链接与动态链接
- 静态链接与动态链接
- 动态链接与静态链接
- 静态链接与动态链接
- 静态链接与动态链接
- 静态链接与动态链接
- 动态链接与静态链接
- 静态链接与动态链接
- C++ 静态成员与成员函数链接错误
- Android多线程断点续传下载
- AndroidManifest.xml——文件详解(一)
- Prim算法和Kruskal算法
- No resource found that matches the given name 'Theme.AppCompat.Light 的完美解决方案
- 【等我贷】投资者如何判断P2P网贷平台的资质?
- 5. 链接辅助函数 与 使用静态文件
- codeforces school mark
- 【万里征程——Windows App开发】DatePickerFlyout、TimePickerFlyout的使用
- windows(64位)下用vagrant+virtualbox 管理虚拟机详解
- 再探java基础——break和continue的用法
- 机器学习为什么要学习最优化呢?
- 使用Python写的第一个网络爬虫程序
- 时间序列 SPSS
- Google MapReduce