用flask开发个人博客(13)—— 链接静态资源
来源:互联网 发布:儒尼尼奥任意球数据 编辑:程序博客网 时间:2024/03/28 23:14
之前介绍过flask中查看路由映射关系的方法:
>>> from test import app>>> app.url_mapMap([<Rule '/user' (HEAD, OPTIONS, GET) -> user>, <Rule '/' (HEAD, OPTIONS, GET) -> index>, <Rule '/static/<filename>' (HEAD, OPTIONS, GET) -> static>, <Rule '/user/<name>' (HEAD, OPTIONS, GET) -> test>])
上面的映射关系中,除了第三种之外都是我们在test.py中通过代码写入的映射关系,而第三种是flask默认生成的,现在主要介绍下第三种映射关系.flask中默认将一些静态文件如图片/css文件等放入static文件夹下,而我们可以在html文档中对其进行访问.
在介绍访问方法之前,先介绍下flask模板中的url_for()函数,该函数在html文档中调用,以视图函数为参数,返回该视图函数对应的url,如在test.py中,我们定义了映射到/user/<name>的视图函数user:
@app.route('/user/<name>') def test(name): return render_template('test.html',name=name)
当我们调用url_for(test)时,它会返回 '/user/<name>'这个url,这里的<name>其实也是一个变量,要想给他赋值,可以通过以下方式:url_for(test,name='liuzhihui'),这样我们就得到了一个值为"/user/liuzhihui"的url,我们就是利用url_for的这种方式关联static目录下的静态资源.
<html><head> <title>文档的标题</title> <link rel="shortcut icon" href="{{ url_for('static',filename='fb.png')}}" type="image/x-icon"/></head><body> 文档的内容... ...</body></html>
上面的html文档,将标题和static文件夹下的fb.png图标进行关联,效果就是在文档页的头部会出现一个小小图标,如下图所示:
这里面,
url_for('static',filename='fb.png'作用就是返回一个url只想static目录,/static/<filename>,然后用'fb.png'给filename赋值,url就变成"/static/fb.png",因为是在html中调用函数,所以url_for前面用两个花括号括了起来,变成:
href="{{ url_for('static',filename='fb.png')}}"
Github位置:
https://github.com/HymanLiuTS/flaskTs
git clone git@github.com:HymanLiuTS/flaskTs.git
获取本文源代码:
git checkout FL13
0 0
- 用flask开发个人博客(13)—— 链接静态资源
- 用flask开发个人博客(1)—— 一个简单的flask程序
- 用flask开发个人博客(2)—— Flask中的请求对象request
- 用flask开发个人博客(3)—— flask中的请求和视图函数映射
- 用flask开发个人博客(5)——flask中的四种响应类型
- 用flask开发个人博客(6)—— 为flask程序添加命令行解释器
- 用flask开发个人博客(8)—— flask中的模板
- 用flask开发个人博客(14)—— flask中本地化时间的引用
- 用flask开发个人博客(22)—— 使用Flask-Migrate实现数据库的更新
- 用flask开发个人博客(24)—— flask中使用Flask_Mail发送电子邮件
- 用flask开发个人博客(4)—— flask中4种全局变量
- 用flask开发个人博客(7)—— flask中设置和获取cookie
- 用flask开发个人博客(15)—— flask中四种请求钩子
- 用flask开发个人博客(23)—— flask中的数据模型关系
- 用flask开发个人博客(35)—— flask中的上下文处理器app_context_processor
- 用flask开发个人博客(39)—— 在flask中定义Rest API
- 用flask开发个人博客(40)—— Flask中三种测试方法
- 用flask开发个人博客(37)—— 使用Flask-pagedown实现博客文章预览的功能
- Debian 8桌面安装Nvidia GTX960显卡驱动
- mina框架详解
- 补坑计划——ARM(一)
- python字符串查找和引索
- poj 3345 Bribing FIPA
- 用flask开发个人博客(13)—— 链接静态资源
- Mac下设置vim语法高亮
- CH372
- 分享一些自己的学习历程和学习方法
- 翻译 《Little Book of Semaphores》
- 【例题&结论】【单调队列(滑动窗口)】NKOJ2152 滑动窗口
- GO 笔记 FROM go语言编程
- 8.1 Zend_View(2)
- ArrayList自动扩容解析