用flask加载静态html模板,并解决路由要加static的问题
2017-03-31 15:29
323 查看
最近在学习flask,想建一个个人主页,看到一个博主写的处理static路由的问题。
Flask对Jinja2模版引擎支持很好,但无奈其所有静态文件都要放在static文件夹中(URL路由得加
Flask官网好像没有找到类似的例子,于是Google解决方案,找到这篇博文:
https://vilimpoc.org/blog/2012/11/21/serving-static-files-from-root-and-not-static-using-flask/
博主说实例化Flask类的时候做一个小设置
虽然他们实际上还是存放在
顺带推荐一个HTML5优质模版网站(全免费):http://html5up.net/
That’all,最后放上我完整的py文件(超简单):
Flask对Jinja2模版引擎支持很好,但无奈其所有静态文件都要放在static文件夹中(URL路由得加
/static/...)而修改模版对于我这种前端0基础的开发又是个体力活
Flask官网好像没有找到类似的例子,于是Google解决方案,找到这篇博文:
https://vilimpoc.org/blog/2012/11/21/serving-static-files-from-root-and-not-static-using-flask/
博主说实例化Flask类的时候做一个小设置
static_url_path=''即可,把
static_url_path设置为空字符串相当于设置把所有根目录下URL的访问都关联到
/static/目录下,所以静态HTML模版中直接可以引用
/js/something.js而不是
/static/js/something.js这样麻烦咯
虽然他们实际上还是存放在
/static/目录下,只是修改了映射关系
顺带推荐一个HTML5优质模版网站(全免费):http://html5up.net/
That’all,最后放上我完整的py文件(超简单):
from flask import Flask app = Flask(__name__,static_url_path='',root_path='/home/ronny/mywebsite') #静态模板index.html等都放在‘/home/ronny/mywebsite/static/'下。 路由不用再加’/static/index.html‘而是'index.html'就好 @app.route('/') def index(): return app.send_static_file('index.html') if __name__ == '__main__': app.run(host='0.0.0.0',port=8081,debug=True) #真正运行时不要用debug=True
相关文章推荐
- GAE下的SiteMesh3--解决静态html中文乱码问题(原创)
- 用 html 的 base 标签,解决静态资源、请求的相对路径问题
- 彻底解决WebView加载html乱码问题
- 使用live delegate on来解决js对后加载的html失效的问题
- 通过修改ip路由解决网站加载问题
- Ext界面下做图片动态加载的图片放大镜效果并解决IE6下遮罩mask无法遮盖HTML的select控件问题
- resin服务下访问静态html页面时默认编码总为iso-8859-1的问题解决办法
- jsp页面中include静态html出现乱码问题的解决方式
- Django运行html模板时编码问题的解决方法
- 编写category时的便利宏(用于解决category方法从静态库中加载需要特别设置的问题)
- 解决 伪静态中真正html无法访问的问题
- 嵌入式Linux2.6 Kernel Module模板动态加载实例和常见问题解决方法
- 解决Android开发中加载html页面乱码的问题
- js给<object>视频赋值 延迟加载,解决不能修改的html对象的问题 .
- 解决WebView加载离线HTML时白屏、黑屏以及可能不显示的问题
- 解决 asp.net 伪静态 IIS设置后 直正HTML无法显示的问题
- 解决ui-router插件的模板加载问题
- 解决 asp.net 伪静态 IIS设置后 直正HTML无法显示的问题
- 解决在使用flask时向网页中插入一段包含html标签的内容正常显示的问题
- 解决Nginx反向代理后无法加载静态文件的问题