用flask加载静态html模板,并解决路由要加static的问题

转载自:https://blog.csdn.net/ronnyjiang/article/details/68925756

Flask对Jinja2模版引擎支持很好,但无奈其所有静态文件都要放在static文件夹中(URL路由得加/static/...)

于是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/

最后完整的py文件:
--------------------- 

rom 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


作者:RonnyJiang 
来源:CSDN 
原文:https://blog.csdn.net/ronnyjiang/article/details/68925756 
版权声明:本文为博主原创文章,转载请附上博文链接!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章